Ich habe ein Problem beim Laden einer externen DLL mit Python durch Python für .NET. Ich habe verschiedene methodologis nach stackoverflow und ähnlichem versucht. Ich werde versuchen, die Situation zusammenzufassen und alle Schritte zu beschreiben, die ich gemacht habe.Python für .NET
Ich habe eine DLL namens z. Test.NET.dll. Ich überprüfte mit dotPeek und ich kann sehen, klicken Sie darauf, x64 und .NET Framework v4.5. Auf meinem Computer habe ich das .Net Framework 4 installiert.
Ich habe auch Python für .NET auf verschiedene Arten installiert. Ich denke, dass der beste Download die .whl von dieser Website LINK ist. Ich habe heruntergeladen und installiert: pythonnet-2.0.0.dev1-cp27-none-win_amd64.whl. Ich kann mir vorstellen, dass es für .NET 4.0 seit funktioniert. Benötigt das Microsoft .NET Framework 4.0.
Sobald ich alles installiert habe, kann ich diese Befehle tun:
>>> import clr
>>> import System
>>> print System.Environmnet.Version
>>> print System.Environment.Version
4.0.30319.34209
Es Arbeit scheint. Dann habe ich versucht, meine dll Eingabe dieser Befehle zu laden:
>>> import clr
>>> dllpath= r'C:\Program Files\API\Test.NET'
>>> clr.AddReference(dllpath)
Traceback (most recent call last):
File "<pyshell#20>", line 1, in <module>
clr.AddReference(dllpath)
FileNotFoundException: Unable to find assembly 'C:\Program Files\API\Test.NET'.
at Python.Runtime.CLRModule.AddReference(String name)
Ich habe auch versucht, hinzuzufügen ‚DLL‘ am Ende des Weges, aber nichts geändert. Dann habe ich auch verschiedene Lösungen ausprobiert, wie in LINK, LINK, LINK beschrieben, und vieles mehr .... Leider funktioniert es nicht und ich bekomme verschiedene Fehler. Ich weiß, dass IronPython existiert, aber ich habe versucht, es zu vermeiden.
Danke für Ihre Hilfe!
1. hast du mit FindAssembly versuchen? 2. Haben Sie die Fehler von Assembly Binding Log Viewer (Fuslogvw.exe) untersucht? 3. Ihre Assembly ist 64-Bit, ist Python auch 64-Bit? – denfromufa