如何使用命令行运行select FxCop规则



我知道你可以创建一个项目并使用相对路径,但我不想让项目文件处于版本控制中。为了简洁起见,我只想运行Microsoft.Design中的一个规则CA1001。我如何用命令行参数指定它,并使其在TeamCity FxCop构建运行程序中工作?

有一个/ruleid命令行选项可用于此操作。它没有显示在MSDN帮助主题中的fxcopcmd.exe命令行选项中,但您可以通过运行fxcopcmd.exe /?来查看描述。

该工具位于\FxCopCmd.exe中。选项列表可在此处找到。所有选项都必须附加冒号和参数(如果有的话),但不能加空格。基本命令如下所示。

FxCopCmd.exe /file:E:MyProjectPrecompiledbin 
/rule:"C:Program Files (x86)Microsoft FxCop 1.35Rules" /out:fxcopreport.xml

您还可以应用多种规则,如任何需要的规则:

"C:Program FilesMicrosoft FxCop 1.35FxCopCmd.exe"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesDesignRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesGlobalizationRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesInteroperabilityRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesMobilityRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesNamingRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesPerformanceRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesPortabilityRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesSecurityRules.dll"
/rule:"C:Program FilesMicrosoft FxCop 1.35RulesUsageRules.dll"
/out:fxcopreport.xml
/summary
/file:"E:MyProjectModelbinDebugMyProject.dll"
/directory:"C:Program FilesReference AssembliesMicrosoftFramework
v3.5System.Core.dll"

在上述命令中,标志为:

/rule要包含的规则dll的路径。

/out分析应保存到哪个文件。

/summary使FxCop在报告中包含摘要。

/file要分析的文件。

/目录由于某些原因,项目文件不记得找到System.Core.dll。为了避免错误,您可以这样指定dll。

最新更新