2011-01-04 12 views
10

में त्रुटियों के रूप में चेतावनियां चेतावनी चेतावनियां सेटिंग के रूप में चेतावनियां हैं क्योंकि हमारे पास चेतावनियों के साथ कोड में जांच न करने की नीति है और यह एकमात्र प्रभावी तरीका है जिसे हमने इसे लागू करने के लिए पाया है।विजुअल स्टूडियो

हम अप्रचलित विशेषता का उपयोग उन विधियों को ध्वजांकित करने के लिए भी करना चाहते हैं जिनका उपयोग नहीं किया जाना चाहिए।

समस्या यह है कि किसी विधि या कक्षा में एक अप्रचलित विशेषता जोड़ने से परियोजनाओं के निर्माण के लिए तुरंत कई परियोजनाएं उत्पन्न होती हैं (यदि .NET API कॉल को बहिष्कृत किया गया है तो समस्या का उल्लेख न करें)।

क्या किसी के पास इसका कोई अच्छा समाधान है?

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

+1

+1। आप चेतावनी 618 (CS0618) दबा सकते हैं: "प्रोजेक्ट गुणों में" कक्षा वर्ग को अप्रचलित विशेषता के साथ चिह्नित किया गया था "। दुर्भाग्य से यह सभी चेतावनियों को छुपाता है और उद्देश्य को हरा देता है। हम इसके लिए "मामूली चेतावनी" भी पसंद करेंगे। – TrueWill

+2

मुझे लगता है कि यह http://stackoverflow.com/questions/267168/treat-all-warnings-as-errors-except-in-visual-studio – TheHurt

+0

@TheHurt - अच्छा खोज का डुप्लिकेट है; मैंने उसे नहीं देखा! @ केविन - कृपया उस लिंक को देखें। – TrueWill

उत्तर

1

एक साधारण समाधान में बिल्डिंग कॉन्फ़िगरेशन (उदा। आपकी डीबग बिल्ड कॉन्फ़िगरेशन) त्रुटियों के रूप में चेतावनियों के बिना होगा। यदि, हालांकि, बिंदु आपके डेवलपर्स को ध्वजांकित करना है कि निर्माण पर कुछ गड़बड़ है, तो यह अच्छा नहीं है क्योंकि वे चेक इन करने से पहले रिलीज बिल्ड करना भूल जाएंगे।

वैकल्पिक रूप से "त्रुटियों के रूप में चेतावनियों का उपयोग करने के बजाय "आप चेतावनियां बढ़ाने के बजाए त्रुटियों को फेंकने के लिए अपना नियम निर्धारित कर सकते हैं। इसका मतलब यह होगा कि, गैर-सीए चेतावनियां त्रुटियों का कारण नहीं बनेंगी।

सबसे अच्छा समाधान, मुझे लगता है, इसे सर्वर की तरफ संभालना होगा। आदर्श रूप से आपके पास gated checkin का कुछ प्रकार होगा ताकि आपका कोड रिपोजिटरी अस्वीकार करता है जो कि इसकी बिल्ड परिभाषा का उपयोग नहीं करता है (चेतावनियों के रूप में त्रुटियों के साथ, और आपके डेवलपर चेतावनियों के रूप में त्रुटियों को छोड़ सकते हैं)। मुझे संदेह है कि यह एक टीएफएस-2 के 10-केवल सुविधा है।

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