Visual Studio 2010 ベータ dll を NUnit GUI にロードしようとしています。ポップアップ エラーが発生します。
このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。NUnit が現在実行されているバージョンより新しいバージョンの CLR でアセンブリ ビルドを読み込もうとしている可能性があります。
.NET 4 で実行可能ファイルを強制的に実行するにはどうすればよいですか?
Visual Studio 2010 ベータ dll を NUnit GUI にロードしようとしています。ポップアップ エラーが発生します。
このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。NUnit が現在実行されているバージョンより新しいバージョンの CLR でアセンブリ ビルドを読み込もうとしている可能性があります。
.NET 4 で実行可能ファイルを強制的に実行するにはどうすればよいですか?
NUnit 2.5 ソースをダウンロードし、VS2010 ベータ版で VS2008 ソリューションを開きました。変換が完了したら、すべてのプロジェクトを開き、すべてのプロジェクトのターゲット フレームワーク設定を「.NET Framework 4.0」に変更しました。次に、エラーなしでソリューションを構築しました。NUnit GUI アプリを使用して、.NET 4.0 用にビルドされたテストを実行できるようになりました。このビルドの徹底的なテストを行っていないため、問題がある可能性がありますが、私の目的では問題なく動作します。
更新: NUnit を再構築する必要はありません。関連する NUnit 構成ファイルに以下を追加すると、.NET 4.0 用にビルドされたテスト dll を実行できることがわかりました。
<configuration> の下に以下を追加します。
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
<runtime> の下に以下を追加します。
<loadFromRemoteSources enabled="true" />
.NET 4がリリースされたので、私は
<supportedRuntime version="v4.0.30319" />
requiredRuntimeの代わりにNUnit2.5.4exe.configで、上記のloadFromRemoteResourcesタグとすべてが正常に機能しました。ありがとう!
ファイルを変更する必要はありません
このファイルを開くだけで、すべて正常に動作します
C:\Program Files (x86)\NUnit 2.5.10\bin\net-2.0\nunit-x86.exe
NUnit 2.5.5では、コマンド ラインでオプション/framework=net-4.0を指定できます。これは、最新の VS2010 のリリースで生成された新しいアセンブリと互換性があります。
Visual [C#2010 Express、またはいずれか]から.net 4バージョンを見つけるには、メニューの[ヘルプ]項目の下にあるVisualアプリケーションの[バージョン情報]に移動します。ウィンドウの右上にあるMicrosoft.NETFrameworkの行の下にバージョンとして表示されます。
提案されたソリューションは、NUnit を実行するのにうまく機能しました。残念ながら、その後コード カバレッジのステップに到達したとき、NCover は次のような情報を提供し始めました。
プロファイルされたプロセスが終了しました。プロファイラー接続が確立されていません。
これに対して私が見つけた最善の解決策は、NCover で NUnit の「-x86」バージョンを使用することでした。
NCover.Console.exe nunit-console-x86.exe --追加パラメータ--
今すぐ動作します。
NUnit 2.5.10以降、GUIランナーでVisualStudioのサポートを有効にできます。
ツール->設定->IDEサポート
その後、.NET4.0アプリドメインでアセンブリを実行するnunit-agent.exeプロセスに正常に接続できました。
NUnit 2.4.8 の実行中に、まったく同じエラー メッセージが表示されました。しばらくアップグレードしていなかったので、現在の NUnit (v2.5.9) をインストールしたところ、VS2010 アセンブリがサポートされるようになりました。したがって、このエラーが新たに発生した場合は、NUnit のバージョンを確認してください。2010年 12 月 (またはそれ以降) の時点では、 NUnit をアップグレードするだけです。
nunit 2.5.5 にアップグレードした後にこの問題が発生した場合は、nant を最新バージョンの .91 alpha にアップグレードする必要があります。