做项目需要导入C#写好的dll文件,使用pythonnet可以很方便的导入dll,基本用法如下:
import clr
clf.AddReference("dllName")
from dllName import *
if __name__ == "__main__":
instance = FunctionProcess()
print(instance.mean([1,2,3,4]))
但是使用时报错:
Unable to find assembly 'dllName'
尝试了谷歌上的各种方法无果,最后在github上发现一个解决方案【传送门】提到可能是因为dll的版本是32位然后python版本64位,不能用64位python去寻找32位dll文件
首先查看dll版本:
- 打开Visual Studio 自带工具 Developer Commond Prompt for VS
2. cd进入到dll所在文件夹,运行命令
dumpbin /headers dllName.dll
此时安装32位python或者重新生成64位dll之后可以成功找到dll文件