TFS2010:如果存在代码分析警告,则阻止签入

时间:2012-02-29 14:55:40

标签: visual-studio-2010 tfs2010 checkin-policy

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

就像我在一些博客和stackoverflow问题中找到的那样,我试图通过签到政策来实现这一目标:

  1. 在Visual Studio项目中启用代码分析并设置Rulset(Microsoft最低推荐规则)
  2. 添加签到策略“代码分析”并设置相同的规则集(Microsoft最低推荐规则)。
  3. 现在的问题是,该策略仅阻止签入是否存在错误,但是如果只有警告则不会。当然,我可以更改规则集并将所有规则设置为错误。但是,当地建设也是不可能的。

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

    我的想法是,在签入策略设置中设置不同的规则集(相同的规则,但所有规则都是错误的)。但是,通过尝试办理登机手续即可获得错误:代码分析设置与代码分析政策不兼容

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

    提前感谢您的回答!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

  • 在开发人员的工作站中:即使有警告,编译也会成功
  • 在TFS-Build中:如果有警告则编译中断

为了得到这个:

  1. 从csproj
  2. 中删除“在构建时启用代码分析”
  3. 删除签到政策
  4. 打开您的构建定义以进行编辑&导航到“处理”>“2.Basic”并将“执行代码分析”设置为“始终”
  5. 现在,请注意,您可能会遇到这样的情况,即每个DEV工作站都会成功构建。在TFS中失败。那将是非常糟糕的。
    一种避免这种情况的方法是将你的构建触发器改为“门控签到”,这样如果有警告 - 构建将失败&开发人员无法办理登机手续。
    最后一步是 - 在某种程度上 - 取代您删除的登记政策。