我一直在使用 OpenCover 作为项目的一部分,我需要介绍的软件之一是针对 .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 的版本更改为正确的版本并停止了该错误。不幸的是,我现在遇到了某种链接错误,其全文可以在下面关于帕特里克回答的评论中的 pastebin 中看到:
[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]