首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IronPython中使用DbLinq

在IronPython中使用DbLinq
EN

Stack Overflow用户
提问于 2012-04-25 23:09:22
回答 1查看 307关注 0票数 1

我正尝试在我的IronPython应用程序中使用dblinq,但在开始时遇到了一些问题。当尝试导入dblinq类时,使用clr.AddReference()似乎看不到dblinq。

我可以构建但不能访问库

代码语言:javascript
复制
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 ...的类

解决方案

代码语言:javascript
复制
    import clr

   clr.AddReferenceToFileAndPath("%s\Resources\DbLinq.dll" %os.getcwd())
    clr.AddReference("DbLinq")
    from Npgsql import *
    from DbLinq import Data
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 04:24:19

对于像DbLinq这样的库,它们带有依赖项或者被分成几个all /模块,您可以通过编程方式添加它们的位置,以允许运行时找到所有需要的文件。

代码语言:javascript
复制
import sys
sys.path.append(r"C:\Temp\DbLinq-0.20.1")

然后,您可以照常引用所有必需的程序集:

代码语言:javascript
复制
clr.AddReference("DbLinq")

如果只有一个主程序集,您也可以使用clr.AddReferenceToFileAndPath (具有绝对路径),它将隐式地将引用的程序集位置添加到路径中。

代码语言:javascript
复制
clr.AddReference(r"C:\Temp\DbLinq-0.20.1\DbLinq.dll")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10318494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档