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

标签 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”的模块”错误。

最佳答案

原来我是用 .NET Core 编译 DLL 的。更改为 .NET Framework 4.5 解决了该问题。

我希望错误消息更有帮助。

关于c# - 在 pythonnet 中导入 .NET 自定义类时出现 ModuleNotFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52451364/

相关文章:

c# - 通过查询调用存储过程并在没有输出参数的情况下在C#中获取返回值

python - 有没有办法用python检查图像占用了多少内存?

c# - 向 Telerik RadTextBox 添加属性

c# - 是否有一种通用方法来定义既不接收 Action 也不接收 Func<Task> 的方法?

c# - 提取 .avi 文件的帧

java - System.Diagnostics.Process 参数中路径中的空格问题

python - 动态时间扭曲中避免堆栈溢出的技术

python - Matplotlib:如何根据列值为散点图圆圈赋予颜色

c# - 锁定并完成所有工作,还是仅在必要时松开并抓取?

c# - 为什么我不能更改 String.Empty 的值?