私はプロジェクトの一環として OpenCover を使用してきましたが、カバーする必要があるソフトウェアの 1 つは .NET 4.5.1 を対象としています。ただし、OpenCover は .NET 4.0 をターゲットにしています。これは、テストしようとしているソフトウェアに問題を引き起こしています。これは、.NET 4.5.1 が実行されていることを想定しており、OpenCover によって .NET 4.0 が実行されていると認識されているように見えるためです。
OpenCover のソース コードをダウンロードして、自分で .NET 4.5.1 に更新しようとしましたが、.NET 4.0 でビルドすることさえできませんでした。ここにあるドキュメントは、私が自分で構築するのに役立つほど明確ではありませんでした。ですから、私の質問の主な部分は、OpenCover をソースからビルドした経験がある人はいますか? その方法についての明確な指示を教えてもらえますか? 私が試みた研究と複数の試みは、これまでのところ結果をもたらしていません。さらに、誰かが OpenCover を .NET 4.5.1 に更新しようとした場合は、そこで収集した情報を聞きたいと思います。
編集:
これを構築するために私が行ったことについてのもう少しの情報は次のとおりです。
ソース コードに含まれている Build.bat ファイルを実行しました。数秒間問題なく実行され、次のように出力されます。
「ビルドに失敗しました
外部プログラムが失敗しました: C:\Windows/Microsoft.NET/Framework64/v4.0.30319/MSBuild.exe (リターン コードは 1)"
うまくいけば、私が経験している問題についての洞察が得られるでしょう。
編集2:
Patrick Hofman のおかげで、私は正しい方向に向けられ、MSBuild.exe のバージョンを正しいバージョンに変更して、そのエラーを止めることができました。残念ながら、ある種のリンクエラーが発生しています。その全文は、以下のパトリックの回答に対するコメントのペーストビンで確認できます。
[exec] "C:\Users\scogan\Source\Repos\OpenCover\main\OpenCover.Test.Profiler\OpenCover.Test.Profiler.vcxproj" (Rebuild target) (15:2) ->
[exec] (Link target) ->
[exec] gtestd.lib(gtest-all.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in ExceptionHandler.obj [C:\Users\scogan\Source\Repos\OpenCover\main\OpenCover.Test.Profiler\OpenCover.Test.Profiler.vcxproj]
[exec] gtest_maind.lib(gtest_main.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in ExceptionHandler.obj [C:\Users\scogan\Source\Repos\OpenCover\main\OpenCover.Test.Profiler\OpenCover.Test.Profiler.vcxproj]
[exec] C:\Users\scogan\Source\Repos\OpenCover\main\bin\Debug\OpenCover.Test.Profiler.exe : fatal error LNK1319: 2 mismatches detected [C:\Users\scogan\Source\Repos\OpenCover\main\OpenCover.Test.Profiler\OpenCover.Test.Profiler.vcxproj]