J'essaie de faire fonctionner pythonnet dans mon application .Net Core fonctionnant sous Linux.
J'ai fait une référence à Python.Runtime.dll (que j'ai obtenu de nuget ) dans mon projet .Net Core.
Mon code est :
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");
}
}
}
J'obtiens cette erreur d'exécution :
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"
J'ai essayé de trouver une solution dans ces fils mais sans succès :
Comment exécuter un fichier py en C# ?
Appeler Python à partir de .NET
UPDATE :
J'ai essayé d'ouvrir \pythonnet -maître \src\runtime **Python.Runtime.csproj** dans Visual Studio pour voir si je peux le compiler en .Net ou .Core, mais je ne peux compiler qu'en .Net. J'ai trouvé cet article " Comment faire un portage de .net framework vers .net standard ? " C'est ce que je dois faire ?