从Python调用C#dll

从Python调用C#dll,c#,python,ironpython,C#,Python,Ironpython,我试图从Python调用现有的C#dll。 我尝试了Python for.NET和Iron Python。 我将dll(LogAccess.dll)放在Python根目录下。 对于Python for.NET,就在Python27目录下。 在IronPython的例子中,刚好低于th IPy27 import sys import clr clr.AddReference("LogAccess") from LogAccess import LogAccess 此时,会发生错误。 对于.NET

我试图从Python调用现有的C#dll。 我尝试了Python for.NET和Iron Python。 我将dll(LogAccess.dll)放在Python根目录下。 对于Python for.NET,就在Python27目录下。 在IronPython的例子中,刚好低于th IPy27

import sys
import clr
clr.AddReference("LogAccess")
from LogAccess import LogAccess
此时,会发生错误。 对于.NET和IronPython,Python中的情况也是如此

回溯(最近一次呼叫最后一次): 文件“无标题”,第4行 clr.AddReference('logaccess') FileNotFoundException:找不到程序集“LogAccesss”。 \u5834\u6240 Python.Runtime.CLRModule.AddReference(字符串名称)

怎么了? 是否有条件生成C#dll? 是否有放置dll的规则?
我想知道modulename、名称空间和主程序名之间的关系/

首先检查是否有单行代码

import clr
没有给出任何错误

如果没有,那么尝试将文件放在Python27/Lib/Site-packages目录中,并尝试相同的方法

或者您可以指定路径

import sys
sys.path.append("yourDllPath")

然后尝试导入您正在执行的操作

您是否可以尝试在IronPython中使用
clr.addReferenceOfileandPath
LogAccess.dll
的绝对路径?这还可以确保将包含的文件夹添加到查找路径中。您还可以查看由于该原因而被阻止和未加载的程序集。