我最近在我的Windows 10 Pro PC上安装了TFS 2017 Express。我还在同一台机器上安装了VisualStudio2017 Pro。在尝试在TFS上构建解决方案时,我注意到了一个持久的行为。如果我的解决方案包括一个单元测试项目,则生成过程在“”步骤中失败。如果我移除单元测试项目,提交到TFS,并对一个新构建进行排队,构建就会成功。
我确保在Nuget和Visual构建步骤中指明“VisualStudio2017”,在Test步骤中指明“最新”。
以下是日志的相关摘录:
我会包括任何其他日志或截图,如果这将有助于诊断问题。
只有当C#单元测试项目出现时,才会出现此症状。有什么解决办法可以让我在解决方案中使用C#单元测试项目来运行TFS构建吗?
我确实看了一下现有文件,发现在这个场景中没有任何帮助。我钻研了该文档并查看了MSBuild命令-行参考,认为我可以指导Visual使用MSBuild版本15。
更新:我看到下载there有两种不同的方式。我下载的方式没有提到版本。我从这里下载了它,滚动到“”,然后点击“下载”。正如@PatrickLu-MSFT所指出的,没有提到版本。
发布于 2018-01-15 02:37:40
根据上面记录的错误消息:
Microsoft.Net.Compilers仅支持MSBuild v14.0及以上版本
TFS使用的是带有.NET框架的msbuild版本,这是一个旧版本。您可以手动检查在构建代理上是否存在与VS 2017 / Build Tools一起分发的版本的路径,这应该是如下所示
xxx\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\MSBuild.exe
然后直接使用这个MSBuild.exe
,在构建代理上使用单元测试项目运行解决方案。如果问题与构建代理环境有关,这将缩小范围。
建议您到启用详细调试模式获取更详细的故障排除日志。
您还可以将TFS升级到最新版本的2017更新3,对于构建任务(如Visual ),请确保选择了最新的任务版本(在配置页面的左角)。
https://stackoverflow.com/questions/48231085
复制相似问题