我正尝试在我的IronPython应用程序中使用dblinq,但在开始时遇到了一些问题。当尝试导入dblinq类时,使用clr.AddReference()似乎看不到dblinq。
我可以构建但不能访问库
import clr
clr.AddReference("DbLinq")
clr.AddReference("System.Data.Linq")
from System.Data.Linq import DataContext
exit = raw_input("press any key to quit")1:我的dblinq源代码在一个名为Resources的子文件夹中
找不到clr.AddReferenceToFileAndPath("Resources/DbLinq.dll") =>文件
clr.AddReference("DbLinq") =>无法添加对dblinq的引用
clr.AddReferenceToFileAndPath("C:/Development/DBLinq2/Dblinq.dll" =>成功
但是仍然不能使用使用from DbLinq import ...的类
解决方案
import clr
clr.AddReferenceToFileAndPath("%s\Resources\DbLinq.dll" %os.getcwd())
clr.AddReference("DbLinq")
from Npgsql import *
from DbLinq import Data发布于 2012-04-26 04:24:19
对于像DbLinq这样的库,它们带有依赖项或者被分成几个all /模块,您可以通过编程方式添加它们的位置,以允许运行时找到所有需要的文件。
import sys
sys.path.append(r"C:\Temp\DbLinq-0.20.1")然后,您可以照常引用所有必需的程序集:
clr.AddReference("DbLinq")如果只有一个主程序集,您也可以使用clr.AddReferenceToFileAndPath (具有绝对路径),它将隐式地将引用的程序集位置添加到路径中。
clr.AddReference(r"C:\Temp\DbLinq-0.20.1\DbLinq.dll")https://stackoverflow.com/questions/10318494
复制相似问题