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

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

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

有帮助吗?

解决方案

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

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

其他提示

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

GAC dlls在本地之前引用,因为它们被设计为共享,但只有在指定了特定版本时才应选择。

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

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

我们在这里使用类似的方法,虽然我们调用文件夹 ReferencedDLLs ,到目前为止我们没有遇到任何问题。

但是,您可以尝试编辑项目文件以删除相关引用的 PathHint ,这样VS2008就不知道在哪里查看它会启动正常的做法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top