2010-04-14 17 views
5

मैं fxcop के साथ एक ही डीएल के दो अलग-अलग संस्करणों का विश्लेषण करने जा रहा हूं। मैं इन दो रिपोर्टों के बीच केवल अंतर प्रदर्शित करना चाहता हूं। क्या किसी को पता है कि यह संभव है?दो fxcop परिणामों की तुलना करें

आपके समय के लिए धन्यवाद।

+0

क्या आप इसे पूरा करने में सक्षम थे? –

उत्तर

2

हां, यह संभव है, लेकिन इसके लिए कोई अंतर्निहित टूल उपलब्ध नहीं है। दो रिपोर्टों की तुलना करने के लिए एक अलग उपकरण का उपयोग करना एक काफी सरल तरीका होगा। यदि परिणाम आपके लिए बहुत शोर है, तो एक और दृष्टिकोण दो रिपोर्टों के एक्सएमएल की तुलना करने के लिए अपना खुद का टूल रोल करना होगा।

2

क्या आप यूआई या कमांड लाइन का उपयोग कर रहे हैं?

कमांड लाइन उपकरण के साथ, आपके पास कई विकल्प हैं। उनमें से एक आधारभूत आधार के रूप में उपयोग करने के लिए एक पुरानी रिपोर्ट आयात करना है। फिर fxcop प्रोजेक्ट को केवल नई त्रुटियों की रिपोर्ट करने के लिए सेट करें: रिपोर्ट स्थिति = "सक्रिय, अनुपस्थित" नयाऑनली = "ट्रू"

कमांड लाइन इस तरह कुछ होगी: fxcopcmd.exe /i:OldVersionReport.xml/out: NewVersionReport .xml /p:FXCopProject.fxcop /f:mydll.dll

नई रिपोर्ट में केवल नई सक्रिय त्रुटि होगी और पुराने संस्करण से लापता यानी निश्चित त्रुटियों की एक सूची होगी।

हालांकि यह अधिकांश भाग के लिए काम करेगा, आपको यह समझने की आवश्यकता है कि अंतर 100% सटीक नहीं होगा। एफएक्सकॉप डीएलएल के नए संस्करण में पुरानी रिपोर्ट से मेल खाता है, लेकिन कभी-कभी यह विफल हो जाता है। उदाहरण के लिए, यदि आपने कोड में कहीं भी एक विशेष उल्लंघन तय किया है, लेकिन किसी अन्य स्थान पर उसी तरह के उल्लंघन को जोड़ा गया है, तो 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" 
संबंधित मुद्दे