好久没写代码了,最近有个项目,需要用到C#封装的dll,我想直接用python调用,嗯,说干就干。
写试试能不能用python调用C#写的dll,做了个试验。
C#的代码如下:
然后我网上搜索了一下,使用python需要用到pythonnet这个库。
然后我输入pip install pythonnet失败了...我找同事试了下,他那边是ok的
琢磨了半天,感觉是因为我电脑装的python38,无语了,没办法卸载替换成老的37版本,果然安装成功了。
贴一下代码:
import clr # add C# suppor
clr.AddReference('ClassLibrary1')
#clr.FindAssembly("ClassLibrary1.dll") ## 加载c#dll文件
from ClassLibrary1 import *
if __name__ == '__main__':
print('test ClassLibrary1.dll by python')
instance = Class1()
#instance.ShowForm()
print('2+3=',instance.MAdd(2,3))
输出的效果如下:
嗯,就这样了,后面再看看还有什么坑。