我在通过 Python for .NET 使用 Python 加载外部 dll 时遇到问题。我在stackoverflow和类似的之后尝试了不同的方法。我将尝试总结情况并描述我已完成的所有步骤。
我有一个名为例如Test.NET.dll 的dll。我检查了 dotPeek,点击它可以看到 x64 和 .NET Framework v4.5。在我的计算机上,我安装了 .Net Framework 4。
我还以不同的方式为 .NET 安装了 Python。我认为最好的方法是从该网站LINK下载 .whl 。我已经下载并安装了:pythonnet‑2.0.0.dev1‑cp27‑none‑win_amd64.whl。我可以想象它适用于 .NET 4.0,因为需要 Microsoft .NET Framework 4.0。
安装完所有内容后,我可以执行以下命令:
>>> import clr
>>> import System
>>> print System.Environmnet.Version
>>> print System.Environment.Version
4.0.30319.34209
这似乎工作。然后,我尝试加载我的 dll,输入以下命令:
>>> 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)
我也尝试在路径末尾添加“.dll”,但没有任何改变。然后,我还尝试了LINK、LINK、LINK等中描述的不同解决方案……不幸的是,它不起作用,我得到了不同的错误。我知道存在 IronPython,但我试图避免使用它。
谢谢你的帮助!