【问题标题】:Compare two fxcop results比较两个 fxcop 结果
【发布时间】:2010-04-14 07:40:43
【问题描述】:

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

感谢您的宝贵时间。

【问题讨论】:

  • 你能完成这个吗?

标签: fxcop


【解决方案1】:

是的,这是可能的,但没有可用的内置工具。一种相当简单的方法是使用差异工具来比较两个报告。如果结果对您来说过于嘈杂,另一种方法是使用您自己的工具来比较两个报告的 XML。

【讨论】:

    【解决方案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 很可能会错过这一点并且不会显示任何差异。

    【讨论】:

      【解决方案3】:

      对于 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"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-04
        相关资源
        最近更新 更多