さらに検索した後、これを見つけました:
NCover 1.5.8 を .NET 4 で動作させようとしているためにこのスレッドを見つけた場合は、次の手順でこのエラーを修正する必要があります。
コマンド プロンプトを開き、次のように入力します set COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
これにより、.NET Framework 2.0 プロファイラーを読み込むように .NET 4 CLR に指示されます。
詳細については、http:
//msdn.microsoft.com/en-us/library/dd778910.aspxを参照してください。
ここのスレッドの最後に
私の問題を解決するようです
編集:
それは本当に私の問題を解決しません。これで、coverage.xml を生成できるようになりましたが、v2.0 フレームワーク アセンブリのみが含まれているため、.net 2.0 アセンブリのみがプロファイリングされます....
うーん。ふりだしに戻る...
編集2
ハレルヤ!私はランダムなグーグルと変更のプロセスによってこれを理解しました。とにかく、ここで見つかったいくつかのポインターにより、コードを実行しているアプリケーションの exe.config (この場合は nunit.console-x86.exe) ファイルを変更する必要があることがわかりました。特定のバージョンの .net フレームワークをロードするだけでなく、従来のアクティベーション ポリシーを使用できるようにします。簡単に言うと、次の方法でこれを解決できました。
- nunit-console-x86.exe.config に次のセクションを追加します。
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
</startup>
</configuration>
NCover.Console.Exe.config にも同様の設定を追加しましたが、不要であることがわかりました。
編集3
これは私が使用しているコマンド ラインです (簡単にするために、ncover と nunit およびテスト アセンブリのすべてを 1 つのディレクトリにコピーしたことに注意してください)。
NCover.Console.exe nunit-console-x86.exe /framework=4.0.30319 Your.Test.Assembly.dll //x coverage.xml //reg