gpt4 book ai didi

asp.net - 不明确的引用错误

转载 作者:行者123 更新时间:2023-12-02 11:50:10 25 4
gpt4 key购买 nike

我间歇性地收到以下错误:

Could Not load file or assembly 'com.mycompany.myapp' or one of its dependencies. The located assembly's manifest does not match the assembly reference.

我有一个 Ajax 用户控件库,我将其构建并编译为 DLL。该项目引用了项目 A (com.mycompany.myapp)。我的主 Web 应用程序引用了此 DLL,并且还引用了项目 A。有时,当我尝试重建 Web 应用程序时,会出现此错误。似乎 DLL 和 Web 应用程序之间对项目 A 的引用不同步。

这只能通过重建 DLL、从 Web 应用程序中删除对 DLL 的引用、重新添加引用,然后重建 Web 应用程序来解决。谁能解释为什么会发生这种情况以及如何防止出现此错误?

我正在寻找一种解决方案来解决此问题,以便我可以分发此 DLL,而不必担心它需要间歇性地重建和部署。

最佳答案

如果您的所有项目都位于同一解决方案中,则需要确保它们都是项目引用而不是文件引用。您可以通过右键单击项目并转到属性 => 引用来检查这一点。

在您的引用列表中,您将看到名为“复制本地”的列。如果将其设置为 false,则意味着您通过文件而不是项目引用它(在构建 DLL 后不会更新 DLL)。要解决此问题,请删除引用并再次添加它(确保从解决方案中引用它,而不是通过引用硬盘驱动器上的 DLL)。

如果您没有将所有项目都包含在同一个解决方案中,那么这是正常行为。假设您的 Ajax 控件库不在解决方案之内。

开始的情况是这样的:

  • Ajax 引用 A(版本 1)
  • 项目引用 A(版本 1)
  • 项目引用 Ajax(版本 1)

构建解决方案后(其中没有 Ajax 项目),您将遇到以下情况:

  • Ajax 引用 A(版本 1)
  • 项目引用 A(版本 2)
  • 项目引用 Ajax(版本 1)

如您所见,编译器突然需要引用 A 版本 1 和版本 2,因此这是不可能的,并且会给出错误。这也可以解释为什么当您进行重建并删除 DLL 并再次添加它时它会起作用。

这里的解决方案是将 Ajax 项目添加到您的解决方案中并每次重新构建它。

关于asp.net - 不明确的引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15978304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com