将警告视为TFS级别VS2017上的错误

时间:2017-10-26 20:18:00

标签: c# tfs tfsbuild tfs2017

我一直在努力解决这个问题。我搜索并尝试了不同的东西,但它不起作用,所以我在这里发布。

我希望在构建TFS级别时将警告视为错误,并且此选项尚未运行。

我已经按照其他帖子的建议做了:我尝试过: / P:TreatWarningsAsErrors =真 和 / P:TreatWarningsAsErrors ="真"

Enabling TreatWarningsAsErrors

然而,由于在构建时不成功,我有以下结果: TFS构建时不会将警告视为错误。

Warning About Unused int

构建成功如下图所示,没有错误。

No errors in build

任何人都可以帮助我了解如何做到这一点吗?

更新: Obs:我确实知道在使用VS2017时在项目属性上设置TreatWarningAsErrors的选项,因为警告在那里被视为错误,但这对TFS不起作用。

TreatWarningAsError on VS2017 project properties

Warning becomes error

对于Debug和Release,我已在项目属性的VS2017中启用了处理警告作为错误。

Build on TFS

2 个答案:

答案 0 :(得分:2)

我在我身边测试过,/p:TreatWarningsAsErrors="true"这个论点对我有用:

请注意,如果您已为项目启用了VS中的Treat Warnings As Errors(设置为ALLSpecific Warnings),那么您就不需要添加参数{{ 1}}了。

因此,您可以尝试以下方法来缩小问题范围:

  • 启用选项(设置为/p:TreatWarningsAsErrors="true"),然后签入更改,然后构建 试。
  • 禁用该选项(设置为All,只保留默认值),清除 缓存客户端服务器,然后创建一个新的 构建定义,添加参数None 在构建步骤中。对构建进行排队以检查它是否适合您。

<强>更新

正如Kevin在下面的评论中提到的那样,问题是/p:TreatWarningsAsErrors="true"似乎在某种程度上干扰....只是创建了一个与第一个相同的新构建定义但没有SonarQube分析并且警告在解决方案的构建中出现了错误。

enter image description here

答案 1 :(得分:0)

我们使用TFS Build Extension Build Quality Checks。将构建设置为失败超过阈值0将无法构建任何编译器警告:

enter image description here