【问题标题】:Use C# DLL in Python [closed]在 Python 中使用 C# DLL [关闭]
【发布时间】:2019-10-07 01:28:14
【问题描述】:

我有一个用 C#、.NET 4.7.0 编写并构建为 DLL 的驱动程序。我没有来自该驱动程序的资源。我想在 python 应用程序中使用这个驱动程序。

我将驱动程序中的一些功能封装到另一个 C# 项目的方法中。然后我将它构建到DLL中。我使用 RGiesecke.DllExport 使一种方法在 python 中可用。当我使用 ctypes 从 python 调用此方法时,我得到 WinError -532462766 Windows Error 0xe0434352

如果我排除驱动程序代码并在导出的方法中只保留包装器代码,一切运行正常。

能否请您给我一些建议如何使它工作或帮助我找到更好的解决方案?从 python 迁移到 IronPython 是没有选择的。

谢谢。

【问题讨论】:

  • 第一个问题是调试你得到的错误。 “WinError -532462766”和“Windows 错误 0xe0434352”非常无用。 This 线程可能会帮助您调试底层错误实际上是什么。
  • 当我从 python 应用程序中的包装库执行代码时出现问题。我测试了一些东西,看起来库由于某种原因没有加载。事件查看器为空。我没有发现任何错误。

标签: c# python dll wrapper dllexport


【解决方案1】:

问题原因: Python 没有从与驱动程序一起存储的目录中运行包装器。这导致加载驱动程序出现问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多