Доступ к .net core dll с использованием python - PullRequest
1 голос
/ 15 марта 2019

Мне нужен доступ к C # dll, встроенному в ядро ​​.net (.NETCore версия = v1.1).Я попытался описанным ниже способом, но я получаю сообщение об ошибке импорта.

import clr

clr.AddReference("dllname") - No error

from dllname import *

Получено исключение ошибки импорта, при котором не указан модуль с именем dllname .

Примечание.и железный питон, и питон оба дают мне одно и то же исключение.

1 Ответ

1 голос
/ 15 марта 2019

Я пытаюсь на Fedora 29, используя моно 5.18, python3.7 и netcore 3.0.100-preview-009812, и, кажется, работает, если вы используете абсолютные пути для разрешения dll

netcore
import clr
import os

clr.AddReference(os.path.abspath('./bin/Debug/netstandard2.0/sample.dll'))
import sample
p = sample.Person(name='Peter')

Проект netcore был сгенерирован таким образом

dotnet new classlib -o sample

Персональный класс

using System;

namespace sample
{
    public class Person
    {
            public string Name { get; set; }
    }
}

UPDATE

На основании данных, предоставленных @SMHP, создается впечатление несовместимости между основной платформой .NET framework / mono (среда выполнения pythonnet) и библиотекой, предназначенной для .netcoreapp 2.0.

enter image description here

enter image description here

...