一尘不染

找到的程序集的清单定义与程序集引用不匹配

c#

我试图在C#Windows窗体应用程序(Visual Studio 2005)中运行一些单元测试,但出现以下错误:

System.IO.FileLoadException:无法加载文件或程序集“实用程序,版本=
1.2.0.200,文化=中性,PublicKeyToken =
764d581291d764f7”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT的异常:0x80131040)**

在x.Foo.FooGO()

在Foo.cs:第123行的x.Foo.Foo2(String groupName_)

在FooTests.cs中的x.Foo.UnitTests.FooTests.TestFoo():行98 **

System.IO.FileLoadException:无法加载文件或程序集“实用程序,版本=
1.2.0.203,文化=中性,PublicKeyToken =
764d581291d764f7”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自HRESULT的异常:0x80131040)

我查看自己的参考文献,但只有一个参考文献Utility version 1.2.0.203(另一个是旧的)。

关于我如何找出试图引用此DLL文件旧版本的任何建议?

此外,我认为我的硬盘上甚至没有这个旧程序集。有什么工具可以搜索这个旧版本的程序集吗?


阅读 324

收藏
2020-05-19

共1个答案

一尘不染

.NET程序集加载器:

  • 找不到1.2.0.203
  • 但确实找到了1.2.0.200

该程序集与请求的程序集不匹配,因此出现此错误。

简而言之,它找不到所引用的程序集。通过将其放在GAC或应用程序路径中,确保可以找到正确的程序集。另请参阅https://docs.microsoft.com/archive/blogs/junfeng/the-
located-assemblys-manifest-definition-with-name-xxx-dll-does-not-match-the-
assembly-reference。

2020-05-19