【发布时间】:2014-12-06 15:59:20
【问题描述】:
我有一个 .dll 文件(带有“Interop.”前缀),其中包含一个用 C# 编写的库。库中包含一个类、几个枚举、几个接口和几个委托。 (通过使用 JetBrains dotPeek 反编译 .dll 来观察)
在这里查看 dll 结构:
我需要使用纯 Python 来访问类中的方法。我试过了:
from ctypes import *
name = "Interop.HTBRAILLEDRIVERSERVERLib.dll"
mydll = cdll.LoadLibrary(name)
但是,尝试调用“HtBrailleDriverClass”类中包含的任何方法会导致“AttributeError: function 'initialize' not found”。我还尝试从它们的序数索引中访问它们:
print mydll[1]
但是这会给出错误“AttributeError: function ordinal 1 not found”。
是否有人能够解释为什么我无法访问此 .dll 中的类以及为什么我也无法访问任何方法?
请记住,我必须使用纯 Python。
【问题讨论】:
-
您是否尝试过使用 Python for .NET (Python.NET)? ctypes 无法加载 .NET 程序集。
标签: c# python .net dll python.net