You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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().
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()
The text was updated successfully, but these errors were encountered:
Environment
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(); // 调用函数并获取返回值
}
PythonEngine.Shutdown(); // 关闭Python引擎
}
The text was updated successfully, but these errors were encountered: