- Notifications
You must be signed in to change notification settings - Fork749
Closed
Description
Environment
- Pythonnet version:3.0.3
- Python version:381
- Operating System:win11
- .NET Runtime:.NET8
Details
In my .NET 8 console environment, I executed a simple operation to call a Python method that returns a string. However, I encountered an error when executing PythonEngine.Shutdown().
TODO
python&code:
import json
def return_json_string():
data = {"message": "这是从Python返回的字符串"}
return "{"name":"Michael"}" # 这将会是一个字符串.net&code
public static void GetStr()
{
Runtime.PythonDLL = @"D:\Program Files\Python312\python312.dll"; // 根据需要更改Python版本和路径
PythonEngine.Initialize(); // 初始化Python引擎using (Py.GIL()) // 确保我们在Python全局解释锁(GIL)的上下文中
{
dynamic pyModule = Py.Import("ReturnJson"); // 导入Python方法所在文件名
string result = pyModule.return_json_string(); // 调用函数并获取返回值Console.WriteLine(result);
}
PythonEngine.Shutdown(); // 关闭Python引擎
}
System.NotSupportedException: BinaryFormatter serialization and deserialization are disabled within this application. See https://aka.ms/binaryformatter for more information. at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph) at Python.Runtime.RuntimeData.Stash() at Python.Runtime.Runtime.Shutdown() at Python.Runtime.PythonEngine.Shutdown()
Metadata
Metadata
Assignees
Labels
No labels