我们使用Python for .Net来调用使用C#从Python脚本构建的.NET API。 我们得到ImportError:没有命名模块 - 导入完成时出错如下。
Python脚本:
import sys
sys.path.append(r"C:\myfolderA\myfolderB")
print sys.path
import clr
clr.FindAssembly(r"AA.BB.CC")
clr.AddReference(r"AA.BB.CC")
from AA.BB.CC.Api.DDInterface import DDClient
在上面一行中,我收到以下错误
Traceback (most recent call last):
File "C:\myfolderA\myfolderB\testAPI.py", line 7, in <module>
from AA.BB.CC.Api.DDInterface import DDClient
ImportError: No module named AA.BB.CC.Api.DDInterface
没有其他信息可以准确识别问题。 建于15天的同一个项目的Dll工作正常。 这个项目之间可能经历了一些变化。
如何准确识别此问题?
这可能是依赖问题吗? 我尝试使用JustDecompile比较旧的dll和新的dll,但是找不到任何不寻常的东西。
非常感谢您的帮助。
谢谢,
答案 0 :(得分:2)
在python论坛的帮助下,我能够使用Microsoft的Fuslogvw.exe(程序集绑定日志查看器)并找出导致错误的相关dll。
谢谢
答案 1 :(得分:1)
以下是我原来答案的链接:
https://mail.python.org/pipermail/pythondotnet/2014-December/001626.html
我建议使用程序集绑定日志查看器(fuslogvw.exe) 相应的.NET框架,用于查看加载程序集的日志文件。
将日志位置设置为自定义,并在设置中指向程序集文件夹。 日志应显示正在加载的DLL序列和任何错误。
这对我有用,请看这里: