ModuleNotFoundError при импорте пользовательского класса .NET в pythonnet

Я пытаюсь импортировать ОЧЕНЬ ПРОСТОЙ пользовательский класс C# в Python с помощью pythonnet. Я никогда не использовал C # или VS, так что, вероятно, это какая-то глупая ошибка, которую я делаю.

У меня есть солидная база кода C# (не написанная мной), которую я хочу использовать с помощью Python.

У меня есть этот класс С#:

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 »».


person Leonardo    schedule 21.09.2018    source источник


Ответы (1)


Оказывается, я компилировал DLL с помощью .NET Core. Переход на .NET Framework 4.5 решил проблему.

Я бы хотел, чтобы сообщения об ошибках были более полезными.

person Leonardo    schedule 24.09.2018