3

この奇妙なリビジョンの不一致エラーが発生しています。すべての NUnit テスト プロジェクトは以前は NUnit 2.5.7 で動作していましたが、NUnit v2.5.10 を使用するように切り替えたので、次のエラーが発生し続けます。

FileLoadException: ファイルまたはアセンブリ 'nunit.framework、バージョン 2.5.7 を読み込めませんでした...

注:参照をクリーンアップ、再構築、再確認しましたが、問題はありません。

Assembly Binder Log Viewer (以下を参照) を使用すると、このエラーのトリガーは Spring.Testing.NUnit.dll のように思えます... Spring.Testing.Nunit 1.3.2 Nuget ページにあるとすれば、これは奇妙に思えます依存関係リスト: NUnit (≥ 2.5.7)

ここで何が欠けているのか分かりますか? 前もって感謝します、

結核。

アセンブリ バインダーのログ エントリ (02.07.2012 @ 16:06:35)

操作に失敗しました。バインド結果: hr = 0x80131040。説明がありません。

アセンブリ マネージャーの読み込み元: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 実行可能ファイルの下で実行 F:\robin\4-Development\Workspace\3rdParty\NUnit\2.5.10\nunit-agent.exe --- 詳細なエラー ログが続きます。

=== バインド前の状態情報 === LOG: User = Mth\tbourguignon LOG: DisplayName = nunit.framework, Version=2.5.7.10213, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77 (完全指定) LOG: Appbase = file: ///F:/robin/4-Development/Workspace/Application LOG: Initial PrivatePath = Rh.Robin.Common.Tests\bin\Debug;Rh.Robin.Service.Test\bin\Debug;Rh.Robin.Domain. Unit.Test\bin\Debug;Rh.Robin.Service.Unit.Test\bin\Debug;Rh.Robin.Web.UI.MVC.Unit.Test\bin\Debug ログ: 動的ベース = NULL ログ: キャッシュ ベース = C:\Users\tbourguignon.Mth\AppData\Local\Temp\nunit20\ShadowCopyCache\4980_634768419945070499 ログ: AppName = Tests_29030132 アセンブリの呼び出し: Spring.Testing.NUnit、バージョン = 1.3.2.40943、カルチャ = ニュートラル、PublicKeyToken = 65e474d141e25e07。=== ログ: このバインドは、デフォルトのロード コンテキストで開始されます。ログ: アプリケーション構成ファイルが見つかりません。ログ: ホスト構成ファイルの使用: ログ: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config のマシン構成ファイルの使用。LOG: ポリシー後の参照: nunit.framework、Version=2.5.7.10213、Culture=neutral、PublicKeyToken=96d09a1eb7f44a77 ログ: GAC ルックアップに失敗しました。ログ: 新しい URL ファイルのダウンロードを試みています:///F:/robin/4-Development/Workspace/Application/nunit.framework.DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///F:/robin/4-Development/Workspace/Application/nunit.framework/nunit.framework.DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///F:/robin/4-Development/Workspace/Application/Rh.Robin.Common.Tests/bin/Debug/nunit.framework.DLL。ログ: アセンブリのダウンロードは成功しました。ファイルのセットアップの試行: F:\robin\4-Development\Workspace\Application\Rh.Robin.Common.Tests\bin\Debug\nunit.framework.dll ログ: ダウンロード キャッシュのセットアップ フェーズに入ります。ログ:アセンブリ名: nunit.framework、バージョン = 2.5.10.11092、Culture=neutral、PublicKeyToken=96d09a1eb7f44a77 WRN: アセンブリ名を比較すると、不一致が発生しました: リビジョン番号ERR: アセンブリ参照が見つかったアセンブリ定義と一致しませんでした。ERR: hr = 0x80131040 でセットアップに失敗しました。ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。

4

2 に答える 2

2

NUnit の新しいドット バージョンを参照して、何か得られましたか? そうでない場合、最も簡単な方法は、Spring がコードで参照しているバージョンと一致する古いバージョンの NUnit アセンブリを参照することです。

もう 1 つのオプションは、バインディング リダイレクトを使用して NUnit アセンブリの新しいバージョンを取得するように (Spring) アプリケーションの構成を変更することです。

Specific VersionNUnit のアセンブリへの Spring の参照が true に設定されていたのではないかと思います。しかし、そうは思えません。実行時に .NET がアセンブリを見つけてバインドする方法についてのリファレンスを次に示します。

于 2012-07-02T14:49:54.363 に答える
0

なんとか解決できましたが、原因がわかりません。プロジェクトからすべての NUnit 参照を除外し、すべての DLL を削除して、新しい DLL のみを再導入することで、参照の大規模なクリーンアップを行いました。DLLがどこかにスタックしていて、Springが新しいものの代わりにそれを拾っていたと推測することしかできません...ワイルドな推測ですが:(

于 2012-08-09T09:01:34.900 に答える