我猜测你的DLL使用的.NET框架比应用程序更新。
请检查DLL源代码的属性(在解决方案资源管理器中右键单击DLL代码,然后选择“属性”)。转到“应用程序” - “目标”.NET框架并将其版本与应用程序本身使用的版本进行比较(右键单击项目代码)。注意:在应用程序属性下,请检查“应用程序” - “目标”.NET框架和“发布” - “先决条件”下的设置。
说实话,即使我更改了.vbproj文件并删除了许多关于硬编码值的行,最终我还是将项目检出,删除了所有对给定DLL的引用,然后使用GUI添加它。
教训是,不要尝试在不使用VB2005 GUI的情况下更换一个DLL为更新版本。最简单的解决方案可能是将所有内容转移到另一个项目中。找到Visual Studio留下的硬编码路径会非常耗时。
哇塞!!!将DLL文件编译到较低版本的.NET框架中,问题就会得到解决!!!
我曾经遇到过一个老的Visual Studio项目在Visual Studio 2008中打开时出现了同样的问题。我试图向该项目添加新的引用,但是一直出现无法找到dll文件的错误。将该项目迁移到Visual Studio 2010后,当我尝试添加新引用时,出现了以下错误信息:
'mySample.dll'或其某个依赖项需要比项目中指定的.NET Framework版本更高的版本。您可以更改...
将项目的.NET Framework更改为更新的版本后,一切正常。
进行了一次清理,删除了所有的DLL文件,然后VS2008抱怨找不到引用(当然啦!)并且无法重新构建...幸运的是我有旧版本的dll文件,并将它们替换到目录中然后重新构建以替换它们...现在所有的引用都正常了,我们回到了正常状态...好老的VS 2008。
其他回答中有很好的建议。在我的情况下,这是因为库没有成功复制(下载):文件存在,但大小为0 kB。