【发布时间】:2022-08-02 17:43:21
【问题描述】:
我有 Win10(64 位)VS2019 C# .NET5 项目。该项目在命名空间 \"CsharpDll\" 中的公共类 \"Calculate\" 中包含名为 \"Add(int a, int b)\" 的公共方法。构建的最终结果是“CsharpDll.dll”文件。
我正在尝试使用 RaspberryPi OS(32 位)和 Python 3.9 从 Raspberry Pi 调用此 \"Add()\" 方法。到目前为止没有成功。
注意:\"pythonnet\" 库不支持 Python 3.9 版。如果没有属性 \"--pre\",安装将失败。在运行 Python 代码之前,我使用以下命令将“pythonnet”库安装到 Raspberry Pi:
pip install --pre pythonnet
这是我使用的 C# .NET5 示例:
using System;
namespace CsharpDll
{
public class Calculate
{
public int Add(int a, int b)
{
return a+b;
}
}
}
这是我使用的 Python 示例:
#!/usr/bin/env python
import clr
from CsharpDll import Calculate
# set path variables
clr.AddReference(\'/home/.../CsharpDll.dll\')
# create object
myDll = Calculate()
print(\'C# returned value: \', myDll.Add(1,2))
预期结果:C#返回值:3
实际结果是一条错误消息:
File \"/home/.../.local/lib/python3.9/site-packages/clr_loader/util/find.py\", line 67, in find_libmono
raise RuntimeError(\"Could not find libmono\")
RuntimeError: Could not find libmono
问题:有没有人在 Raspberry Pi 中使用 Python 3.9 中的 .NET5 dll,并且对如何解决这个问题有任何想法?
请您的, 安蒂
标签: raspberry-pi3 .net-5 python.net