2

在我的团队中,我想阻止开发人员使用代码分析警告签入​​代码。

就像我在一些博客和 stackoverflow-questions 中发现的那样,我尝试使用签入策略来做到这一点:

  1. 在 Visual Studio 项目中启用代码分析并设置规则集(Microsoft 最低推荐规则)
  2. 添加签入策略“代码分析”并设置相同的规则集(Microsoft 最低推荐规则)。

我现在遇到的问题是,该政策仅在出现错误时才阻止签入,但在只有警告时不会阻止签入。当然,我可以更改规则集并将所有规则设置为错误。但是,本地构建也是不可能的。

所以,我想要的是规则都是警告并且可以构建项目,但是如果只存在警告,也可以防止签入。

我的想法是,在签入策略设置中设置不同的规则集(相同的规则,但所有规则都为错误)。但是通过尝试签入 y 得到错误:代码分析设置与代码分析策略不兼容

所以我的问题是,如果有人有解决方案或想法,我该如何解决这个问题。

提前感谢您的回答!

4

2 回答 2

2

我在 V2010 中尝试过(即将警告视为错误),但它仅适用于编译器警告,而不适用于 CA 警告。所以我的 CA 警告仍然是警告,而我的编译器警告现在变成了错误。

于 2012-07-10T22:31:59.037 回答
1

如果我做对了,您之后的行为是:

  • 开发者工作站:即使有警告也编译成功
  • 在 TFS-Build 中:如果出现警告,则编译中断

为了得到这个:

  1. 从您的 csproj 中删除“在构建时启用代码分析”
  2. 删除签到政策
  3. 打开您的构建定义进行编辑并导航到“Process”>“2.Basic”并将“Perform Code Analysis”设置为“Always”

现在,请注意您可能会在每个 DEV 工作站中构建成功而在 TFS 中失败的情况下运行。那真的很糟糕。
避免这种情况的一种方法是将构建的触发器更改为“Gated Check-in”,这样如果出现警告 - 构建将失败并且开发人员无法签入。
最后一步是 - 在某种程度上 - 替换对于您删除的签入政策。

于 2012-02-29T15:56:51.987 回答