1

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

4

2 回答 2

1

有一个/ruleid命令行选项可用于此目的。它没有出现在fxcopcmd.exe命令行选项的 MSDN 帮助主题中,但您可以通过运行fxcopcmd.exe /?.

于 2014-09-10T12:09:50.653 回答
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 您要分析的文件。

/directory 由于某种原因,项目文件无法记住 System.Core.dll 的位置。为避免错误,您可以像这样指定 dll。

于 2016-01-13T05:58:11.203 回答