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を実行できることがわかりました。
<構成>の下に追加:
<startup>
<supportedRuntime version="v4.0.30319" />
</startup>
<runtime>の下に追加:
<loadFromRemoteSources enabled="true" />
ファイルを変更する必要はありません
このファイルを開くだけで、すべてうまくいきます
C:\ Program Files(x86)\ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe
でNUnitの2.5.5は、コマンドラインでオプションを指定することができ/framework=net-4.0を、それが最新のVS2010のリリースで生成された新しいアセンブリと互換性があります。
提案されたソリューションは、NUnitを実行するのに非常に役立ちました。残念ながら、その後、コードカバレッジステップにたどり着いたとき、NCoverから次の情報が得られました。
プロファイルされたプロセスが終了しました。プロファイラ接続が確立されていません。
私が見つけた最良の解決策は、NCoverでNUnitの「-x86」バージョンを使用することでした。
NCover.Console.exe nunit-console-x86.exe-追加のパラメーター-
現在動作します。
NUnit 2.4.8の実行中にまったく同じエラーメッセージが表示されました。しばらくアップグレードしていなかったので、現在のNUnit(v2.5.9)をインストールし、VS2010アセンブリをサポートするようになりました。したがって、このエラーが新たに発生した場合は、NUnitのバージョンを確認してください。 2010年12月(またはそれ以降)に行う必要があるのは、NUnitをアップグレードすることだけです。