Я пытаюсь заставить pythonnet работать в моем приложении .Net Core, работающем под Linux.
Я сделал ссылку на Python.Runtime.dll (которую я получилиз nuget ) в моем проекте .Net Core.
Мой код:
using System;
using Python.Runtime;
namespace pythonnet_w
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Start");
using (**Py.GIL()**) {
// blabla
}
Console.WriteLine("End");
}
}
}
Я получаю эту ошибку времени выполнения:
Unhandled Exception: System.MissingMethodException: Method not found: 'System.Reflection.Emit.AssemblyBuilder
System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName, System.Reflection.Emit.AssemblyBuilderAccess)'.
at Python.Runtime.CodeGenerator..ctor()
at Python.Runtime.DelegateManager..ctor()
at Python.Runtime.PythonEngine.Initialize(IEnumerable`1 args, Boolean setSysArgv)
at Python.Runtime.PythonEngine.Initialize(Boolean setSysArgv)
at Python.Runtime.PythonEngine.Initialize()
at Python.Runtime.Py.GIL()
at pythonnet_w.Program.Main(String[] args) in D:\Development\~.Net libraries (3.part)\phytonnet\.Net Core test (phytonnet)\c#\pythonnet_test\Program.cs:line 10
/usr/sbin/pythonnet_w: line 5: 19487 Aborted dotnet "/usr/share/pythonnet_wit/pythonnet_w.dll"
Пытался найти решение в этих темах, но безуспешно:
Как запустить py-файл в C #?
Вызов Python из .NET
ОБНОВЛЕНИЕ:
Я пытался открыть \ pythonnet-master \ src \ runtime ** Python.Runtime.csproj ** в Visual Studio, чтобы увидеть, если ямогу скомпилировать его в .Net или .Core, но я могу скомпилировать только.Я нашел эту статью " Как портировать с .net Framework на .net стандарт " Это то, что я должен сделать?