我在用pythonnet加载用c#编写的Dll类时遇到问题
这是dll项目配置(VS)
这是课程代码
using System;
namespace ClassLibrary1
{
public class Class1{
public void test()
{
Console.WriteLine("Hello from a library");
}
}
}
这是DLL的信息
剧本呢
import clr
clr.AddReference('ClassLibraryAss')
from ClassLibraryAss import Class1
x = Class1()
x.test()
能够找到程序集。我举了一些例子,没有比这更难的了。
这是输出
Traceback (most recent call last):
File ".\testDLL.py", line 23, in <module>
from ClassLibraryAss import Class1
ModuleNotFoundError: No module named 'ClassLibraryAss'
我尝试了不同的方法来加载模块,但没有成功
在您的from XXX import Class1
XXX
中,应该是Class1
所在的命名空间,而不是DLL名称
原来dll是在中创建的。默认情况下,NetCore和pythonnet不能与之配合使用。
根据这个问题,
因此,使用。net框架工作。在这期文章中,我提到了一种使用NetCore DLL运行的方法,但我没有尝试过
import clr
#I made a dll with .net Framework 4.8 called ClassLibraryNetF
from ClassLibraryNetF import Class1
x = Class1()
x.test()