比较两个fxcop结果

时间:2010-04-14 07:40:43

标签: fxcop

我将用fxcop分析同一个dll的两个不同版本。 我想只显示这两个报告之间的差异。 有谁知道这是否可行?

感谢您的时间。

3 个答案:

答案 0 :(得分:2)

是的,这是可能的,但没有可用的内置工具。一种相当简单的方法是使用diff工具来比较两个报告。如果结果太吵了,另一种方法是使用自己的工具来比较两个报告的XML。

答案 1 :(得分:2)

您使用的是UI还是命令行?

使用命令行工具,您有许多选项。其中之一是导入旧报告以用作基线。然后将fxcop项目设置为仅报告新错误:Report Status =“Active,Absent”NewOnly =“True”

命令行将是这样的:fxcopcmd.exe /i:OldVersionReport.xml /out:NewVersionReport.xml /p:FXCopProject.fxcop /f:mydll.dll

新报告只会出现新的有效错误,还会显示旧版本中缺失的固定错误列表。

虽然这在大多数情况下都有效,但您需要了解差异不是100%精确。 FXCop尽力将旧报告与新版本的DLL相匹配,但有时会失败。例如,如果您在代码中的某处修复了特定的违规行为,但在另一个地方添加了相同类型的违规行为,那么FXCop很可能会错过这一点并且没有任何区别。

答案 2 :(得分:0)

对于FxCop VS 2010,您只需要/saveMessagesToReport:Absent以及指定的旧生成的FxCop文件/import:"OldFile.xml"。 只是一个例如。

     fxcopcmd.exe /import:"c:\Old.xml" /summary "/file:c:\*.dll" 
     /saveMessagesToReport:Absent /out:"c:\Output.xml"
相关问题