将警告视为 TFS 级别 VS2017 上的错误
Treat Warnings as Errors on TFS level VS2017
我已经为此苦苦挣扎了一段时间。我已经搜索并尝试了不同的东西,但它不起作用,所以我在这里发布。
我想在 TFS 级别上构建时将警告视为错误,但此选项不起作用。
我已经按照其他帖子中的建议完成了:我已经尝试过:
/p:TreatWarningsAsErrors=true
和
/p:TreatWarningsAsErrors="true"
Enabling TreatWarningsAsErrors
但是,在构建时没有成功,我得到以下结果:
该警告在 TFS 构建时未被视为错误。
Warning About Unused int
构建成功如下图,没有错误。
No errors in build
任何人都可以帮助我了解如何做到这一点吗?
更新:
Obs:我确实知道使用 VS2017 时在项目属性上设置 TreatWarningAsErrors 的选项并且有效,因为那里的警告被视为错误,但这不适用于 TFS。
TreatWarningAsError on VS2017 project properties
Warning becomes error
我在 VS2017 中为 Debug 和 Release 的项目属性下启用了将警告视为错误。
Build on TFS
我们为此使用了 TFS 构建扩展,Build Quality Checks。将构建设置为超过阈值 0 将导致构建失败,出现任何编译器警告:
我在身边测试过,参数/p:TreatWarningsAsErrors="true"
对我有效:
注意,如果你已经为项目启用了Treat Warnings As Errors
in VS(设置为ALL
或Specific Warnings
),则不需要添加参数/p:TreatWarningsAsErrors="true"
了。
因此,您可以尝试以下操作来缩小问题范围:
- 启用该选项(设置为
All
),然后 签入更改 ,然后构建
再次.
- 禁用该选项(设置为
None
,保持默认即可),干净
为您的客户端服务器缓存,然后创建一个新的
构建定义,添加参数 /p:TreatWarningsAsErrors="true"
在构建步骤中。排队构建以检查它是否适合您。
更新:
正如 Kevin 在下面的评论中提到的,问题是 SonarQube
似乎在以某种方式干扰....刚刚创建了一个与第一个相同的新构建定义,但 没有 SonarQube Analysis 并且警告变成了解决方案构建中的错误。
我已经为此苦苦挣扎了一段时间。我已经搜索并尝试了不同的东西,但它不起作用,所以我在这里发布。
我想在 TFS 级别上构建时将警告视为错误,但此选项不起作用。
我已经按照其他帖子中的建议完成了:我已经尝试过: /p:TreatWarningsAsErrors=true 和 /p:TreatWarningsAsErrors="true"
Enabling TreatWarningsAsErrors
但是,在构建时没有成功,我得到以下结果: 该警告在 TFS 构建时未被视为错误。
Warning About Unused int
构建成功如下图,没有错误。
No errors in build
任何人都可以帮助我了解如何做到这一点吗?
更新: Obs:我确实知道使用 VS2017 时在项目属性上设置 TreatWarningAsErrors 的选项并且有效,因为那里的警告被视为错误,但这不适用于 TFS。
TreatWarningAsError on VS2017 project properties
Warning becomes error
我在 VS2017 中为 Debug 和 Release 的项目属性下启用了将警告视为错误。
Build on TFS
我们为此使用了 TFS 构建扩展,Build Quality Checks。将构建设置为超过阈值 0 将导致构建失败,出现任何编译器警告:
我在身边测试过,参数/p:TreatWarningsAsErrors="true"
对我有效:
注意,如果你已经为项目启用了Treat Warnings As Errors
in VS(设置为ALL
或Specific Warnings
),则不需要添加参数/p:TreatWarningsAsErrors="true"
了。
因此,您可以尝试以下操作来缩小问题范围:
- 启用该选项(设置为
All
),然后 签入更改 ,然后构建 再次. - 禁用该选项(设置为
None
,保持默认即可),干净 为您的客户端服务器缓存,然后创建一个新的 构建定义,添加参数/p:TreatWarningsAsErrors="true"
在构建步骤中。排队构建以检查它是否适合您。
更新:
正如 Kevin 在下面的评论中提到的,问题是 SonarQube
似乎在以某种方式干扰....刚刚创建了一个与第一个相同的新构建定义,但 没有 SonarQube Analysis 并且警告变成了解决方案构建中的错误。