2012-03-27 18 views
7

मैंने हाल ही में विजुअल स्टूडियो में अपनी परियोजनाओं पर कोड विश्लेषण का उपयोग शुरू किया। मैंने अपनी सभी परियोजनाओं के साथ उपयोग करने के लिए एक कस्टम नियम बनाया है जिसमें दो माइक्रोसॉफ्ट परिभाषित नियम शामिल हैं। मैं सीए बिल्ड निर्माण प्रक्रिया में FxCop को एकीकृत करने के लिए काम कर रहा हूं ताकि सभी नियमों को पारित न किया जा सके। मेरे लिए वास्तव में क्या अजीब बात यह है कि मैं अपने नियमसेट का उपयोग नहीं कर सकता कि यह निर्धारित करने के लिए कि FxCop किस नियम के खिलाफ कोड स्कैन करता है। मैं इसे कैसे बना सकता हूं ताकि विजुअल स्टूडियो का कोड विश्लेषण नियम FxCop के नियमों से मेल खाता हो?FxCop और कोड विश्लेषण नियम

+0

क्या मैं पूरी तरह से कुछ खो रहा हूं या क्या विजुअल स्टूडियो में FxCop स्टैंडअलोन और कोड विश्लेषण में समान नियम साझा करने का कोई तरीका नहीं है? !!!! – Chris

+0

आपको कुछ याद आ रहा है। आप अपने सीआई बिल्ड से FxCop चलाने का प्रयास कैसे कर रहे हैं? –

+0

मैं इसे TeamCity का उपयोग कर चला रहा हूं, जो FxCopCmd.exe चलाता है। मेरे पास एक FxCop प्रोजेक्ट फ़ाइल है जो लक्ष्य और स्टैंडअलोन FxCop सूचियों के नियमों को सूचीबद्ध करती है लेकिन विजुअल स्टूडियो में कोड विश्लेषण का उपयोग करने के लिए समान नियमों को साझा करने का एक आसान तरीका प्रतीत नहीं होता है। सबकुछ काम करता है, वीएस -2010 में स्टैंडअलोन एफएक्सकॉप और कोड विश्लेषण के बीच नियमों को साझा करने का कोई भी सही तरीका प्रतीत नहीं होता है। – Chris

उत्तर

8

आपके पास पहले से ही एक नियम सेट फ़ाइल है जो मुझे लगता है कि आपने यह अनुमान लगाया है कि अपनी परियोजनाओं में एकीकृत कैसे करें और विजुअल स्टूडियो के माध्यम से उपयोग करें।

आप FxCopCmd.exe में यह एक ही नियम सेट फ़ाइल का उपयोग कर सकते हैं:

FxCopCmd.exe /out:Violations.xml /ruleset:=Custom.ruleset /file:MyAssembly.dll 

मैं इस जेनकींस का उपयोग किया जाता है और यह सिर्फ ठीक काम करता है। बिना किसी तर्क के FxCopCmd.exe चलाएं और आपको सभी उपलब्ध कमांड लाइन स्विच के लिए विवरण देखना चाहिए।

+1

बहुत अजीब, मुझे/नियमसेट विकल्प के लिए दस्तावेज खोजने में बहुत परेशानी थी लेकिन यह चाल थी। शुक्र है, मैं कुछ याद कर रहा था :-)। – Chris

+1

क्या आप कृपया नियमसेट फ़ाइल वाक्यविन्यास के लिए एक उदाहरण दे सकते हैं। मुझे काम करने के लिए यह बहुत भाग्य नहीं मिला है। – mikelong

+0

@ मिकेलोंग: नियम सेट फ़ाइलों का उपयोग करने के लिए वाक्यविन्यास मेरे उत्तर में प्रदर्शित होता है। आपकी समस्या विशेष रूप से क्या है? – Bernard

3

हमारे सीआई निर्माण के लिए हमारे पास एक विशेष बिल्ड कॉन्फ़िगरेशन (मानक डीबग और रिलीज के अतिरिक्त) है जिसमें चलने वाले कोड विश्लेषण ("रनकोड एनालिसिस" एमएसबिल्ड कार्य को याद है) और विकल्प "त्रुटि के रूप में चेतावनी का इलाज करें" विकल्प। तो बिल्ड विफल रहता है अगर हमारे पास FxCop त्रुटि है और यह उसी नियम सेट को VS के रूप में उपयोग करता है। इस तरह आपको FxCopCmd का उपयोग करने की आवश्यकता नहीं है और नियमों को साझा कर सकते हैं। लेकिन आपको अपने समाधान की हर परियोजना में मैन्युअल रूप से इस बिल्ड कॉन्फ़िगरेशन को जोड़ना होगा।

संबंधित मुद्दे