clr.AddReference(#39;example_file#39;) - unable to find assembly(Clr.AddReference(#39;Example_File#39;)-找不到程序集)
问题描述
我正在尝试使用CLR模块中的AddReference(‘Example_File.dll’)方法添加对"Example_File.dll"的引用:
>>>import clr
>>>clr.AddReference('example_file')
在结果中我得到:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
System.IO.FileNotFoundException: Unable to find assembly 'example_file'.
at Python.Runtime.CLRModule.AddReference(String name)
所有文件都位于当前工作目录中,sys.path如下所示:
>>> sys.path
['', 'C:\Python27\lib\site-packages\pip-1.2.1-py2.7.egg', 'C:\Python27', 'C
:\Windows\system32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib',
'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27\lib\
site-packages', 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\']
此外,由于:
>>>clr.FindAssembly('example_file')
我得到
u'example_file.dll
这个问题与日俱增。我很困惑,因为它以前运行得很好--我不知道会对此产生什么影响。 我正在使用Windows 7 x64、Python2.73和.Net Framework4
推荐答案
这里没有足够的信息,但(至少)有两件事需要考虑:
- 您没有已经设置的其他与Python相关的环境变量。例如,使用虚拟环境或让Python指向其他地方。Please check如果设置了
PYTHONHOME
和PYTHONPATH
。 - 您尝试加载的DLL与Python解释器具有相同的位大小。也就是说。如果您有64位的Python,您可能需要加载(但不总是)64位的DLL。
- 使用您的字符集中正确读取路径规范。
sys.path.append(r"C:Program FilesSomeApi")
这篇关于Clr.AddReference(';Example_File';)-找不到程序集的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!