2010-04-14 129 views
5

我打算用fxcop分析兩個不同版本的同一個dll。 我想只顯示這兩個報告之間的差異。 有誰知道這是可能的嗎?比較兩個fxcop結果

謝謝你的時間。

+0

您能完成此任務嗎? – 2013-11-11 13:03:42

回答

2

是的,這是可能的,但沒有內置的工具可用於此。一個相當簡單的方法是使用diff工具來比較兩個報告。如果結果對您來說過於嘈雜,另一種方法是推出自己的工具來比較兩個報告的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很可能會錯過這一行爲並顯示沒有任何區別。

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"