2010-04-14 25 views
5

Aynı dll'nin iki farklı versiyonunu fxcop ile analiz edeceğim. Sadece bu iki rapor arasındaki farkları göstermek istiyorum. Bunun mümkün olup olmadığını bilen var mı?İki fxcop sonucunu karşılaştırın

Zaman ayırdığınız için teşekkür ederiz.

+0

Bunu tamamladınız mı? –

cevap

2

Evet, bu mümkün, ancak bunun için yerleşik bir araç yok. Oldukça basit bir yaklaşım, iki raporu karşılaştırmak için bir fark aracı kullanmak olacaktır. Sonuç sizin için çok gürültülü ise, iki raporun XML'lerini karşılaştırmak için kendi aracınızı kullanmak başka bir yaklaşım olacaktır.

2

UI veya komut satırı kullanıyor musunuz?

Komut satırı aracıyla bir dizi seçeneğiniz vardır. Bunlardan biri, temel olarak kullanılacak eski bir raporu içe aktarmaktır. Sonra fxcop projesini yalnızca yeni hataları bildirecek şekilde ayarlayın: Rapor Durumu = "Etkin, Yok" YeniOnly = "Doğru"

Komut satırı şunun gibi olacaktır: fxcopcmd.exe /i:OldVersionReport.xml/out: NewVersionReport .xml /p:FXCopProject.fxcop /f:mydll.dll

Yeni raporda yalnızca yeni etkin hatalar ve eski sürümdeki eksik yani sabit hataların bir listesi bulunur.

Bu, çoğu zaman işe yarayacak olsa da, farkın% 100 tutarlı olmayacağını anlamanız gerekir. FXCop, eski raporu DLL'nin yeni sürümüyle eşleştirmek için elinden geleni yapar, ancak bazen başarısız olur. Örneğin, kodda bir yerde belirli bir ihlali giderdiyseniz, ancak başka bir yerde aynı türde bir ihlal eklediyseniz, FXCop bunu muhtemelen özleyecek ve hiçbir fark göstermeyecektir.

0

FxCop VS 2010 için gereken tek şey,'un belirtilen eski FxCop dosyasıyla birlikte /import:"OldFile.xml" belirtilmiş olmasıdır. Sadece bir örn.

 fxcopcmd.exe /import:"c:\Old.xml" /summary "/file:c:\*.dll" 
    /saveMessagesToReport:Absent /out:"c:\Output.xml" 
İlgili konular