Python for .NET: 嵌入时出现System.BadImageFormatException错误

5
我正在尝试将Python嵌入我的.NET应用程序中。
我使用的是Windows 10上的Python 3.6.1 64位版本,并使用pip从PyPi安装了pythonnet 2.3.0。
我已经引用了“C:\Program Files\Python36\Lib\site-packages”中的“Python.Runtime.dll”,并且将“Path”和“PYTHONHOME”环境变量都指向了“C:\Program Files\Python36\”。
当我在Python中使用.NET时,一切都很好。
import clr
from System.Drawing import Point
p = Point(5, 5)
print(p)

正如预期的那样,输出了{X=5,Y=5}

但是当我从.NET中调用Python时,出现了System.BadImageFormatException错误。例如,在调用Python.Runtime.PythonEngine.Initialize();时:

System.BadImageFormatException:“无法加载文件或程序集'Python.Runtime, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null' 或其某个依赖项。尝试加载格式不正确的程序。”

有任何想法吗?

先谢谢您。


2
你可能是从32位的.NET进程中调用,但你的Python 3.6是64位的。尝试从pythonnet解决方案中运行nPython.exe。 - denfromufa
@denfromufa 谢谢!我刚刚忘记在我的项目中将“平台目标”从“任何 CPU”更改为“x64”。 - DfM
1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接