1. ホーム
  2. c#

[解決済み] 配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しない

2022-01-28 02:57:59

質問

C# Windows Forms アプリケーション (Visual Studio 2005) でいくつかのユニットテストを実行しようとしているのですが、以下のエラーが発生します。

System.IO.FileLoadException: Utility, Version=1.2.0.200, Culture=neutral, PublicKeyToken=764d581291d764f7' またはその依存物の1つをロードすることができませんでした。配置されたアセンブリのマニフェスト定義が、アセンブリ参照と一致しません。(HRESULT: 0x80131040 からの例外)**。

at x.Foo.FooGO()

at x.Foo.Foo2(String groupName_) in Foo.cs:line 123

at x.Foo.UnitTests.FooTests.TestFoo() in FooTests.cs:line 98**.

System.IO.FileLoadException: Utility, Version=1.2.0.203, Culture=neutral, PublicKeyToken=764d581291d764f7' またはその依存物の1つを読み込むことができませんでした。配置されたアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT: 0x80131040 からの例外)

リファレンスの中を見ると、唯一 Utility version 1.2.0.203 (もう一つは古い)。

この古いバージョンのDLLファイルを参照しようとしているものを把握する方法について、何か提案はありますか?

それに、私のハードディスクにこの古いアセンブリがあるとも思えません。 この古いバージョンのアセンブリを検索するツールはないのでしょうか?

解決方法は?

.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 .