0

我在我的解决方案中使用了一些 3rd 方库,并将它们保存在一个名为 3rdParty 的单独的源代码控制文件夹中。我已经从 VS2008 IDE 添加了对这个文件夹中 DLL 的引用。但是,我发现在保存、关闭和打开解决方案后,引用已更改为指向 GAC 中的程序集。

使用 3rdParty 文件夹的原因是我可以轻松地从任何机器获取最新版本并构建我的项目,而无需在 GAC 文件夹中安装任何东西。如何让 VS2008 不影响我的参考?

编辑:看到 Benjol 的回答后,我一直想知道是否可以使用程序集清单来解决这个问题。这会帮助解决我的问题吗?

4

4 回答 4

0

引用有一个“CopyLocal”设置,如果您将其设置为 true 并将 SpecificVersion 设置设置为 false,那么它应该使用本地引用而不是 GAC 引用。

GAC dll 先于本地引用,因为它们旨在共享,但只有在指定特定版本时才应选择。

如果这些程序集继续导致问题,您是否可以从 GAC 中删除这些程序集?

于 2009-06-16T12:42:02.383 回答
0

即使您可以让 VS 查看您的本地文件夹,这在运行时也无济于事(我的意思是 F5/调试运行时),因为 .Net 无论如何都会首先查看 GAC。

参考 CopyLocal,AFAIK,它只是告诉编译器将引用的 DLL 的一个版本复制到项目的 /bin 文件夹中,因此“复杂”路径不应该有任何问题。

于 2009-07-23T09:39:33.600 回答
0

为了让它获取您的本地程序集,您必须进入项目属性,在“参考路径”选项卡下,并将本地目录(在您的情况下为第 3 方)添加到目录列表中。这应该可以解决您的问题。

于 2010-09-09T08:09:24.510 回答
-1

我们在我工作的地方使用了类似的方法,虽然我们称之为文件夹ReferencedDLLs,到目前为止我们还没有遇到任何问题。

但是,您可以尝试的一件事是编辑项目文件以删除有PathHint问题的引用,这样 VS2008 不知道在哪里查找,它将开始正常的方法。

于 2009-06-16T11:11:44.467 回答