Uso de ensamblajes de C # desde Python a través de pythonnet

Estoy usando Windows 7, de 64 bits. He conseguido descargar e instalar pythonnet, por lo que

import clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import Form 

funciona bien. También he descargado y comstackdo / ejecutado una aplicación de C # que crea muchos ensamblajes. La aplicación en cuestión es ARDrone-Control-.NET.

¿Cómo puedo usar los archivos DLL generados desde Python (y no solo las clases C # integradas)?

Ya que nunca he usado C # (por lo que quiero usar la biblioteca de Python), me gustaría aclarar la pregunta.

Solo para proporcionar otro método:

 import sys sys.path.append("C:\Path\to\your\assemblies") clr.AddReference('MyAssembly') from MyAssembly import MyClass MyClass.does_something() 

Esto supone que en la carpeta C:\Path\to\your\assemblies tiene un archivo MyAssembly.dll.

Entonces, el ‘truco’ es que debe agregar la carpeta de ensamblajes a sys.path antes de clr.AddReference .

Por lo que deduzco que está intentando cargar un ensamblaje externo en Python.Net, he hecho poco trabajo con esa biblioteca. Debería considerar usar IronPython en su lugar, pero al usar Python.Net podría cargar el ensamblaje a través de la reflexión de .Net de esta manera

 Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import clr >>> from System.Reflection import Assembly >>> dll1 = Assembly.LoadFile("C:\Python\Python27-32\Lib\site-packages\Python.Runtime.dll") >>> clr.Python.Runtime  >>> clr.Python.Runtime.PythonEngine