Visual Studio找不到引用。

4
我正在处理另一个人交接的应用程序,需要记录需求、构建和部署过程。问题在于,Visual Studio(2005)抛出了很多错误,因为它找不到dll的引用。这显然会阻止VS构建项目。尽管项目引用了与dll相同的文件夹bin文件夹,但在我的电脑上却无法正常工作。我该如何绕过这些问题,让VS正确引用dll?以下截图显示了项目的引用屏幕。

显然,你需要先阅读你应该写的那份文件 :) 当然,我们也无法帮助你找到这些文件。我怀疑当你有程序员在这个项目上工作时,他们认为“DLL”是一个好的项目名称,这可能会很困难。 - Hans Passant
1
检查项目文件(.vbproj)的源代码,你可以在那里找到引用。我猜它们是硬编码到另一个人电脑上的特定路径。个人而言,我总是创建一个单独的文件夹,将所有引用的DLL放在里面(如果它们不在GAC中),然后使用相对路径从那里引用它们。 - Styxxy
6个回答

15

我猜测你的DLL使用的.NET框架比应用程序更新。

请检查DLL源代码的属性(在解决方案资源管理器中右键单击DLL代码,然后选择“属性”)。转到“应用程序” - “目标”.NET框架并将其版本与应用程序本身使用的版本进行比较(右键单击项目代码)。注意:在应用程序属性下,请检查“应用程序” - “目标”.NET框架和“发布” - “先决条件”下的设置。


我很惊讶这个答案没有更多的赞! - Daniel Gee
这是最佳答案,您不能添加对新版本.NET框架的引用。 - Jad Chahine

3

说实话,即使我更改了.vbproj文件并删除了许多关于硬编码值的行,最终我还是将项目检出,删除了所有对给定DLL的引用,然后使用GUI添加它。

教训是,不要尝试在不使用VB2005 GUI的情况下更换一个DLL为更新版本。最简单的解决方案可能是将所有内容转移到另一个项目中。找到Visual Studio留下的硬编码路径会非常耗时。

哇塞!!!将DLL文件编译到较低版本的.NET框架中,问题就会得到解决!!!


1
项目文件中的路径不能相同,或者引用的程序集版本不同。
卸载您的项目并编辑它,以检查它正在查找什么版本和位置可能会很有价值。

0

我曾经遇到过一个老的Visual Studio项目在Visual Studio 2008中打开时出现了同样的问题。我试图向该项目添加新的引用,但是一直出现无法找到dll文件的错误。将该项目迁移到Visual Studio 2010后,当我尝试添加新引用时,出现了以下错误信息:

'mySample.dll'或其某个依赖项需要比项目中指定的.NET Framework版本更高的版本。您可以更改...

将项目的.NET Framework更改为更新的版本后,一切正常。


0

进行了一次清理,删除了所有的DLL文件,然后VS2008抱怨找不到引用(当然啦!)并且无法重新构建...幸运的是我有旧版本的dll文件,并将它们替换到目录中然后重新构建以替换它们...现在所有的引用都正常了,我们回到了正常状态...好老的VS 2008。


0

其他回答中有很好的建议。在我的情况下,这是因为库没有成功复制(下载):文件存在,但大小为0 kB。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接