我最近开始在Visual Studio中的项目中使用代码分析。我创建了一个自定义规则集,用于包含两个Microsoft定义的规则集的所有项目。我一直在努力将FxCop集成到CI构建过程中,以使未通过所有规则的构建失败。对我来说真正奇怪的是我不能使用我的规则集来定义FxCop扫描代码的规则。如何使Visual Studio的代码分析规则符合FxCop的规则?
答案 0 :(得分:8)
您已经有了一个规则集文件,我假设您已经了解了如何集成到您的项目中并通过Visual Studio进行利用。
您可以在FxCopCmd.exe
中使用相同的规则集文件:
FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll
我使用Jenkins完成了这项工作并且工作得很好。不带参数运行FxCopCmd.exe
,您应该看到所有可用命令行开关的描述。
答案 1 :(得分:3)
对于我们的CI构建,我们有一个特殊的构建配置(除标准的Debug和Release之外),其中包括运行代码分析(“我记得的”RunCodeAnalysis“MSBuild任务”)和选项“将警告视为错误”。因此,如果我们有一个FxCop错误并且它使用与VS相同的规则集,则构建将失败。这样您就不需要使用FxCopCmd并可以共享规则集。但您必须手动将此构建配置添加到解决方案的每个项目中。