0

如何在运行 Linqpad 查询时包含非托管程序集?

我正在运行最新的测试版(v4.42.06)。我通过 f4 Query 属性添加了对工作托管程序集的引用。我在 Linqpad 中输入了访问该程序集的类和方法的代码,当我点击运行时,我得到一个内部异常(来自我的托管程序集而不是 Linqpad),指出它无法打开(在这种情况下确实找到)依赖的非托管程序集通常与托管程序集一起驻留在目录中。

现在非托管程序集与我让 Linqpad 浏览到的添加的托管程序集一起存在,我可以以相同的方式 (f4) 添加非托管程序集,但它不会影响过程的结果。

当我在 Visual Studio 中对该模块进行单元测试时,我将属性DeploymentItem附加到单元测试方法并能够执行代码。

如何让 Linqpad 使用非托管程序集部署项执行?

4

1 回答 1

2

“不要隐藏程序集引用”设置为 true(在Edit/Preferences/Advanced中)

阴影意味着 dll 被复制到另一个文件夹并从那里加载。但是每个 dll 都被复制到一个单独的文件夹中,这意味着托管 dll 不再与非托管 dll 位于同一文件夹中,因此它们无法找到彼此。

通过设置不隐藏程序集引用的选项,dll 从其原始位置加载。

于 2015-04-30T09:06:39.420 回答