c# - 在 Python 中使用 C# DLL
问题描述
我有一个用 C#、.NET 4.7.0 编写并构建为 DLL 的驱动程序。我没有来自该驱动程序的资源。我想在 python 应用程序中使用这个驱动程序。
我将驱动程序中的一些功能包装到另一个 C# 项目的方法中。然后我将它构建到DLL中。我使用 RGiesecke.DllExport 使一种方法在 python 中可用。当我使用 ctypes 从 python 调用此方法时,我得到WinError -532462766 Windows Error 0xe0434352。
如果我排除驱动程序代码并在导出的方法中只保留包装器代码,一切运行正常。
你能给我一些建议如何使它工作或帮助我找到更好的解决方案吗?从 python 迁移到 IronPython 是没有选择的。
谢谢你。
解决方案
问题原因:Python 没有从与驱动程序一起存储的目录中运行包装器。这导致加载驱动程序出现问题。
推荐阅读
- python - Q-learning 算法奖励生成
- sockets - OpenCV 如何处理 TCP 连接?
- node.js - MEAN Stack 保护布局路线
- ios - 斯威夫特:当两个视图彼此不直接连接时,是否可以使用委托?
- templates - 模板对象得到“没有命名类型”。
- json - 在外部 JSON 中搜索项目
- image-processing - 训练具有不同颜色特征的深度分类模型
- r - 是否有允许使用新数据在线更新 glm 的软件包?
- python - 具有匹配值excel的Pandas Python问题
- r-markdown - 在顶级标题之前将图像添加到 Rmarkdown Bookdown 输出