Asp.net 模糊参考误差
我间歇性地收到以下错误: 无法加载文件或程序集“com.mycompany.myapp”或其依赖项之一。找到的程序集清单与 程序集引用 我有一个Ajax用户控件库,我构建并编译成DLL。此项目引用了项目a(com.mycompany.myapp)。我的主web应用程序引用了此DLL,也引用了项目a。有时,当我尝试重建web应用程序时,会发生此错误。对项目A的引用似乎在DLL和web应用程序之间不同步 这只能通过重建DLL、从web应用程序中删除对DLL的引用、重新添加引用,然后重建web应用程序来修复。有人能解释为什么会发生这种情况,以及如何防止出现这种错误吗Asp.net 模糊参考误差,asp.net,vb.net,visual-studio-2010,user-controls,Asp.net,Vb.net,Visual Studio 2010,User Controls,我间歇性地收到以下错误: 无法加载文件或程序集“com.mycompany.myapp”或其依赖项之一。找到的程序集清单与 程序集引用 我有一个Ajax用户控件库,我构建并编译成DLL。此项目引用了项目a(com.mycompany.myapp)。我的主web应用程序引用了此DLL,也引用了项目a。有时,当我尝试重建web应用程序时,会发生此错误。对项目A的引用似乎在DLL和web应用程序之间不同步 这只能通过重建DLL、从web应用程序中删除对DLL的引用、重新添加引用,然后重建web应用程序
我正在寻找一个解决方案,将允许解决这个问题,以便我可以分发这个DLL,而不必担心它将需要重建和部署间歇性 这可能会对你有所帮助。。我以前也有同样的问题,我做的是,我删除了bin文件夹中的文件,然后重建应用程序,然后在主项目中添加了另一个项目,然后重建这两个项目
验证对项目A的引用(对于两个项目),并确保它们引用的是相同的部件和/或项目。(最常见的原因)
如果您的所有项目都在同一个解决方案中,则需要确保它们都是项目引用,而不是文件引用。您可以通过右键单击项目并转到properties=>references来检查这一点 在参考列表中,您将看到一个名为“copy local”的列。如果将其设置为false,则表示您是通过文件而不是项目引用它(构建DLL后不会更新DLL)。要解决此问题,请删除引用并再次添加它(确保从解决方案中引用它,而不是通过引用硬盘上的DLL) 如果不是所有项目都在同一个解决方案中,那么这是正常的行为。 假设您的Ajax控件库在解决方案之外 开始的情况是这样的:
- Ajax引用了A(版本1)
- 项目参考A(版本1)
- 项目引用Ajax(版本1)
- Ajax引用了A(版本1)
- 项目参考A(版本2)
- 项目引用Ajax(版本1)
只是想一想。尝试重新加载程序集,将其从引用中删除,然后再次添加。这应该可以解决问题。