我已经为此苦苦挣扎了一段时间。我搜索并尝试了不同的方法,但它不起作用,所以我将其发布在这里。
我想在 TFS 级别构建时将警告视为错误,但此选项不起作用。
我已经按照其他帖子上的建议做了:我已经尝试过: /p:TreatWarningsAsErrors=true 和 /p:TreatWarningsAsErrors="true"
Enabling TreatWarningsAsErrors
但是,在构建时不成功,我得到以下结果: 该警告不会被视为 TFS 构建上的错误。
构建成功如下图所示,没有错误。
任何人都可以帮助我了解如何做到这一点吗?
更新: Obs:我确实知道使用 VS2017 时在项目属性上设置 TreatWarningAsErrors 的选项,并且该选项有效,因为警告被视为错误,但这不适用于 TFS。
TreatWarningAsError on VS2017 project properties
我在 VS2017 中的项目属性下为“调试”和“发布”启用了将警告视为错误。
最佳答案
我在我身边进行了测试,参数 /p:TreatWarningsAsErrors="true"
对我有用:
请注意,如果您在 VS 中为项目启用了将警告视为错误
(设置为全部
或特定警告
),则您不再需要添加参数 /p:TreatWarningsAsErrors="true"
。
因此,您可以尝试以下操作来缩小问题范围:
- 启用该选项(设置为
全部
),然后 checkin 更改,然后构建 再次。 - 禁用该选项(设置为
None
,只需保留默认值),干净 为您的客户端服务器缓存,然后创建一个新的 构建定义,添加参数/p:TreatWarningsAsErrors="true"
在构建步骤中。对构建进行排队以检查它是否适合您。
更新:
正如 Kevin 在下面的评论中提到的,问题是 SonarQube
似乎以某种方式干扰......刚刚创建了一个与第一个相同的新构建定义,但没有 SonarQube 分析 并且警告变成了解决方案构建中的错误。
关于c# - 将警告视为 TFS 级别 VS2017 上的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46963089/