Экспорт. NET Библиотека классов Core 3 для использования в python - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь экспортировать библиотеку классов C# (. NET Core 3.1) для использования в python (3.x).

Моя попытка в C#:

using System;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;


public class testclass
{
    [DllExport(ExportName = "add", CallingConvention = CallingConvention.Cdecl)]
    [return: MarshalAs(UnmanagedType.I8)]
    public int add(int a, int b)
    {
        return a + b;
    }

}

А в Python:

import ctypes
a = ctypes.cdll.LoadLibrary(r"C:\[...]\MyDll.dll")

print(a.add(1,2))

Всегда говорится, что функция «добавить» не найдена. Любые попытки изменить операционную систему (x64, x86) оказались безуспешными.

Я немного запутался, потому что пакет RGiesecke.DllExport создает предупреждение: UnmanagedExports 1.2.7 was restored using .NETFramework [...] instead of the project target framework .NetCoreApp 3.1[...]. This Package may not be fully compatible.

Это причина для моей проблемы? Этот пакет не совместим, и если нет, есть ли другой вариант?

PS: у меня есть доступ к исходным файлам кода c#.

Большое спасибо за ваш help.

С наилучшими пожеланиями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...