2010-11-12 9 views
10

मेरे पास एक उत्पन्न संदर्भ.cs फ़ाइल के साथ एक सिल्वरलाइट प्रोजेक्ट है जहां सेवा संदर्भ है। कक्षा को [जेनरेटेडोड] के साथ जिम्मेदार ठहराया गया है और प्रोजेक्ट कॉन्फ़िगरेशन में जेनरेट कोड पर कोड विश्लेषण अक्षम (रिलीज़ और डीबग) है।जेनरेट कोड पर कोड विश्लेषण को दबाने के लिए कैसे?

मैंने क्या गलत किया है?

+0

संबंधित: http://stackoverflow.com/questions/1590238/how-to-configure-stylecop-to-suppress-warnings-on-generated-code –

उत्तर

11

शायद तुम समाधान है कि StyleCop लिए काम करता है की कोशिश करनी चाहिए:

1) फ़ाइल का नाम के अंत में ".Designer.cs" रखो आप StyleCop जाँच करने के लिए नहीं करना चाहती। या कक्षा को कॉल करें, और इसमें फ़ाइल, "मूलभूत विधि"। सुनिश्चित करें कि आप StyleCop सेटिंग्स में "डिज़ाइनर फ़ाइलों का विश्लेषण करें" अनचेक भी करें। इस मामले में पूरी फाइल को छोड़ दिया जाएगा। आपको कुछ प्रकार के माइक्रोसॉफ्ट डिज़ाइनर-जेनरेट कोड के लिए ऐसा करने की ज़रूरत नहीं है, जैसे कि विंडोज फॉर्म डिज़ाइनर, क्योंकि वे स्वचालित रूप से निम्न विकल्प की शर्तों के अंतर्गत आते हैं:

2) सी # क्षेत्र के साथ कोड के अवांछित टुकड़े के आस-पास इसके नाम पर "जेनरेट कोड" युक्त है। StyleCop डिफ़ॉल्ट रूप से जेनरेट कोड की जांच नहीं करता है (सुनिश्चित करें कि "जेनरेट की गई फाइलों का विश्लेषण करें" सेटिंग चेक नहीं है, हालांकि)। इस मामले में आप अभी भी विंडोज फॉर्म नियंत्रण के लिए जेनरेट किए गए फ़ील्ड के नामों को मान्य कर सकते हैं।

#region Windows Form Designer generated code

...

#endregion

3) पूरे उत्पन्न फ़ाइल को अनदेखा करने के लिए जांच करें कि आपके जनरेटर में एक "" XML तत्व कहते हैं कि क्या StyleCop-अनुरूप फ़ाइल शीर्षक निम्नलिखित की तरह,:

// <auto-generated />

4) और अंत में, आप MSBuild संकलन आइटम की "बहिष्कृत करेंप्रोर्सएनालिसिस" संपत्ति को सही करने के लिए सेट कर सकते हैं जो विश्लेषण से बाहर रखने के लिए आवश्यक फ़ाइल का प्रतिनिधित्व करता है। यह केवल तभी काम करता है जब आप प्रदत्त "माइक्रोसॉफ्ट। सोर्स एनालिसिस। लक्ष्य" लक्ष्य फ़ाइल का उपयोग करते हैं, अन्यथा आपको स्टाइलकॉप एमएसबिल्ड कार्य को वांछित स्रोत फ़ाइलों के साथ फ़ीड करना होगा।

स्रोत: http://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/

+1

मैं विकल्प 3 की कोशिश की है और ऑटो-जेनरेट किए गए टैग को अनदेखा किया जा रहा है - मैंने इसके बारे में एक प्रश्न जोड़ा: http://stackoverflow.com/questions/5027889/excclude-file-from-stylecop-analysis-auto-generated-tag-is-ignored –

+3

कोड विश्लेषण (पूर्व में FxCop) स्टाइलकॉप जैसा नहीं है, शायद कॉप चीज बहुत भ्रमित है –