2013-04-10 48 views
1

我们正在针对FxCop与TFS2010集成的具体要求。要求如下。 - 执行build.in特定时间间隔(已有方法) - 每次构建后运行FxCop。 (这太简单了,已知) - 如果有任何失败,需要创建一个TFS错误项并分配给上次登录文件的人。FxCop -TFS集成:如果FxCop失败,需要在最后一次检查时创建TFS错误

我们知道'门控入住'是最好的方式。但由于某些原因,我们不能采纳这一点。我们面临的挑战是创建针对每个文件的最后检查错误。

以前有人做过这种类型的解决方案吗?有没有公​​开的代码可以做到这一点?

在此先感谢。

+0

关于谁改变了每个文件似乎相当具体,doubtfull会出现在公共场合,更常见的情况下,这样的实现,你提到的是CI建立与门控签入,另一个选项是最后一人的情况下,部署签入策略以在签入前运行FxCop。 使用api的解决方案并不是非常困难 - 您需要一个构建活动,其中包含FxCop错误列表(或仅包含错误文件),并定位该项目并从源代码控制历史记录中获取其上一次签入,并为提交者创建错误。 – drk 2013-04-10 13:31:39

+0

谢谢drk。我们使用TFS sdk开始开发。我们正在寻找任何公开的类似解决方案/代码,以便我们避免编码:-)。 – 2013-04-11 06:03:42

+0

我可以建议的唯一项目是http://tfsbuildextensions.codeplex.com/,但我怀疑他们会有这种情况,但这仍然是您自己努力的一个很好的示例和/或指导方针。 – drk 2013-04-11 10:12:21

回答

2

它通过编码整个部分完成。其基本思想是:

  1. 以最新,运行exsting构建脚本()产生PDB以及
  2. 在构建脚本的末尾使用FxCopCmd开始FxCops并得到输出到xml文件
  3. 解析XML,找出XML消息的节点包含失败的评论
  4. 从上面的XML节点
  5. 提取代码文件路径地图的文件路径TFS路径(即C:\代码TFS路径开始$ \ code)
  6. 查找最后一次检查的人的详细信息
  7. 创建并向该人员分配错误。

这是专门针对我们的项目,我们无法实现的门控签入,由于大的代码库和高频代码检查插件。但必须实施自动化审查。

这可以被关闭