我知道您可以创建项目并使用相对路径,但我不想将项目文件保留在版本控制中。我们为了简洁起见,我只想从Microsoft.Design运行一条规则CA1001。如何使用命令行参数指定它并使其在TeamCity FxCop构建运行器中工作?
答案 0 :(得分:1)
可以使用/ruleid
命令行选项。它没有显示在fxcopcmd.exe
命令行选项的MSDN帮助主题中,但您可以通过运行fxcopcmd.exe /?
来查看说明。
答案 1 :(得分:0)
该工具位于\ FxCopCmd.exe中。 可以在此处找到选项列表。 所有选项都必须附加一个冒号和参数(如果有),但没有空格。基本命令如下所示。
FxCopCmd.exe /file:E:\My\Project\Precompiled\bin
/rule:"C:\Program Files (x86)\Microsoft FxCop 1.35\Rules" /out:fxcopreport.xml
您还可以应用多种规则,例如:
"C:\Program Files\Microsoft FxCop 1.35\FxCopCmd.exe"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\DesignRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\GlobalizationRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\InteroperabilityRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\MobilityRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\NamingRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\PerformanceRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\PortabilityRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\SecurityRules.dll"
/rule:"C:\Program Files\Microsoft FxCop 1.35\Rules\UsageRules.dll"
/out:fxcopreport.xml
/summary
/file:"E:\MyProject\Model\bin\Debug\MyProject.dll"
/directory:"C:\Program Files\Reference Assemblies\Microsoft\Framework
\v3.5\System.Core.dll"
在上面的命令中,标志是:
/ rule您希望包含的规则DLL的路径。
/ out应该保存分析的文件。
/ summary使FxCop在报告中包含摘要。
/ file您要分析的文件。
/目录由于某种原因,项目文件无法记住在哪里 System.Core.dll位于。为避免错误,您可以像这样指定dll。