我正在尝试执行一个Python脚本,该脚本使用Python For .Net(https://github.com/pythonnet/pythonnet)加载一个名为“Kratos_3.dll”的C#库,该库与脚本位于同一文件夹中,但找不到该文件。

我已经使用“pip install pythonnet”安装了clr。

这是我的脚本:

import clr
import sys
sys.path.insert(0,"C:\\dev\\proj_1\\")
clr.AddReference("Kratos_3")

我不断收到错误
FileNotFoundException: Unable to find assembly 'Kratos_3. at Python.Runtime.CLRModule.AddReference(String name)

当我使用IronPython运行它时,它可以工作,但是我想使用常规Python 2.7使它运行,我该怎么办?

最佳答案

事实证明,即使我添加了通过

sys.path.insert(0,"C:\\dev\\proj_1\\")

它仍然找不到该文件,因为.dll是Windows无法使它从“外部源”加载的原因。要解决此问题,请执行以下操作:
  • 右键单击.dll
  • “属性”
  • 在“常规”下,单击“取消阻止”。
  • 关于PythonNet FileNotFoundException : Unable to find assembly,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28840880/

    10-09 17:28