在pythonnet中导入.NET自定义类时出现ModuleNotFoundError

时间:2018-09-21 21:42:24

标签: c# python .net .net-core python.net

我正在尝试使用pythonnet将非常简单自定义C#类导入Python。我从没用过C#或VS,所以这可能是我在做一些愚蠢的错误。

我有一个可靠的C#代码库(不是我写的),我想使用Python进行驱动。

我有这个C#类:

using System;

public class MyClass
{
    string text;

    public MyClass(string text)
    {
        this.text = text;
    }

    public void Write()
    {
        Console.WriteLine(text);
    }
}

在VS 2017中,我创建了一个.NET Core类库项目。它可以正常编译并创建MyClass.dll文件。

然后我想将其导入Python:

import sys

sys.path.append(r"C:\Users\myuser\source\repos\hello\MyClass\bin\Debug\netcoreapp2.1")

import clr

clr.FindAssembly(r"MyClass")

clr.AddReference('MyClass')

import MyClass

但是我总是收到“ ModuleNotFoundError:没有名为'MyClass'的模块”错误。

1 个答案:

答案 0 :(得分:1)

原来,我是用.NET Core编译DLL的。更改为.NET Framekwork 4.5即可解决问题。

我希望错误消息对您有所帮助。