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

标签 c# tfs tfsbuild

我已经为此苦苦挣扎了一段时间。我搜索并尝试了不同的方法,但它不起作用,所以我将其发布在这里。

我想在 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 中的项目属性下为“调试”和“发布”启用了将警告视为错误。

Build on TFS

最佳答案

我在我身边进行了测试,参数 /p:TreatWarningsAsErrors="true" 对我有用:

请注意,如果您在 VS 中为项目启用了将警告视为错误(设置为全部特定警告),则您不再需要添加参数 /p:TreatWarningsAsErrors="true"

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

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

更新:

正如 Kevin 在下面的评论中提到的,问题是 SonarQube 似乎以某种方式干扰......刚刚创建了一个与第一个相同的新构建定义,但没有 SonarQube 分析 并且警告变成了解决方案构建中的错误。

enter image description here

关于c# - 将警告视为 TFS 级别 VS2017 上的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46963089/

相关文章:

c# - asp 从具有服务器路径的目录中选择随机文件

azure - Azure 托管逻辑应用程序可以连接到本地 Azure DevOps 服务器(以前称为 Team Foundation Server)

visual-studio - Visual Studio 2015 和 Team Foundation 2017

git - TFS2013 - 使用 git 克隆团队项目的构建定义

c# - 在窗体中声明 C# 类对象

c# - 如何从 FromSql 获取计数?

c# - 如何在mailkit中获取uid?

tfs - 在 TFS 上以 x86 构建 ASP.NET Core

tfs - Azure DevOps Build Rest API : How to get all Warning count in build Task, 超过 10 个限制

TFS 2015 build 将其他工作项和变更集与其自身相关联