1

我一直在使用 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]
4

1 回答 1

2

因此,日志中的实际错误消息是:

错误 MSB8020:找不到 v120 的构建工具(平台工具集 = 'v120')。要使用 v120 构建工具进行构建,请单击“项目”菜单或右键单击解决方案,然后选择“更新 VC++ 项目...”。安装 v120 以使用 v120 构建工具进行构建。

我猜你在安装 Visual Studio 时没有安装 VC++ 工具。

于 2014-10-27T15:38:23.177 回答