क्या एक विशिष्ट gendarme दोष संदेश दबाने के लिए संभव है? मैं इसे स्रोत कोड में ध्वज या कुछ ऐसा करने के साथ करना चाहता हूं।गेंडर्म दोषों को कैसे दबाया जाए?
उत्तर
यदि आप कंसोल धावक का उपयोग करते हैं तो आप किसी विधि, प्रकार या असेंबली पर किसी भी दोष को दबाने के लिए एक दोष फ़ाइल (आउट-ऑफ-सोर्स) का उपयोग कर सकते हैं।
नया Gendarme 2.8 में [SuppressMessage] विशेषता (fxcop के समान) के लिए मूल (अपूर्ण और छोटी गाड़ी) समर्थन है। एक बार 2.10 जारी होने के बाद इस सुविधा को ठीक से काम करने की अपेक्षा करें।
जहाँ तक मैं देख सकता हूं, [SuppressMessage] को Gendarme (2.8 पर) में सक्षम करने का कोई तरीका नहीं है। मैंने गिटहब के नवीनतम स्रोत को पकड़ लिया, क्योंकि यह वर्णित के रूप में काम नहीं कर रहा था।
SupressMessageEngine कोड में है, और Runner.Engines के मैन्युअल ओवरराइड के माध्यम से इसका परीक्षण करने वाले परीक्षण हैं। सदस्यता लें। लेकिन [इंजन पर निर्भरता (टाइपोफ (SuppressMessageEngine))] सभी संकलित नियमों पर लागू नहीं होती है, इस प्रकार जब गेंडर्म वास्तव में चलता है तो यह सदस्यता लेता है।
मैंने कॉन्फ़िगरेशन के माध्यम से हमेशा किसी विशेष इंजन की सदस्यता लेने का तरीका खोजने के लिए स्रोत को देखा - लेकिन कोई भी नहीं है।
मैं गलत हो सकता था, लेकिन ऐसा लगता है कि वे वापस जाने और उचित इंजन निर्भरता विशेषताओं को लागू करने के लिए भूल गए थे।
एकमात्र "वर्कअराउंड" जिसे मैं सोच सकता हूं वह एक कस्टम नियम लिखना है जिसे बुलाया जाता है, एक सदस्यता SuppressMessageEngine जोड़ता है और कुछ भी नहीं करता है। हैकी हाँ, लेकिन यह काम करना चाहिए जो मैंने उनके कोड में देखा है।
एफवाईआई - बस इसे लागू किया गया। आप इस FxCopCompatibility में जिम्मेदार बताते हैं कि वहाँ (यानी एक SupressMessage हैं खींच नहीं होगा 3,5
using Gendarme.Framework;
using Gendarme.Framework.Engines;
namespace MyRules
{
[Problem("Gendarme devs forgot to attribute rules with SuppressMessageEngine")]
[Solution("Include this rule")]
[EngineDependency(typeof(SuppressMessageEngine))]
public class AddSuppressMessageSupportRule : Rule {}
}
दुर्भाग्य से अपने स्वयं के कस्टम नियम, आयात Mono.Cecil और Gendarme.Framework और लक्ष्य नेट ढांचा तैयार करने की जरूरत है, एक Gxarme नियम से मेल खाने वाले FxCop नियम के लिए भी Gendarme नियम दबाएगा), लेकिन कम से कम यह आपको Gendarme नामों को दबाने के लिए उपयोग करने देता है।
जैसा कि पहले से ही नोट किया गया है, संस्करण 2.10 [SuppressMessage] विशेषता का समर्थन करता है।
उदाहरण के लिए, AvoidNonAlphanumericIdentifierRule शासन को दबाने के लिए, ऐसा करते हैं:
[SuppressMessage("Gendarme.Rules.Naming", "AvoidNonAlphanumericIdentifierRule")]
protected void Application_Start()
{
...
}
ध्यान दें कि आप विधानसभा जहां शासन रहता है ... इस मामले में, AvoidNonAlphanumericIdentifierRule जेनदार्म में रहती का नाम निर्दिष्ट करने की जरूरत है। Rules.Naming.dll। नियमों और उनके असेंबली नामों की पूरी सूची here है।
- 1. हेरोकू को प्रोफाइल को कैसे दबाया जाए?
- 2. एकाधिक प्रतिबद्धताओं से कई शाखाओं को कैसे दबाया जाए?
- 3. क्लाउड 9 से जिथब को कैसे दबाया जाए?
- 4. एंड्रॉइड ऐप मार्केट में नहीं: अपडेट को कैसे दबाया जाए?
- 5. रिशेर्पर: सीएसएस हैक्स से होने वाली निरीक्षण त्रुटियों को कैसे दबाया जाए?
- 6. किसी सर्वर पर डेटा (संभवतः JSON) के diffs को कैसे दबाया जाए?
- 7. mysqldump आउटपुट में जोड़े गए टेबल (AUTO_INCREMENT = N) के लिए पंक्ति गणना को कैसे दबाया जाए?
- 8. एक कॉल के साथ मोंगोज़ में किसी सरणी में ऑब्जेक्ट्स की सरणी को कैसे दबाया जाए?
- 9. rspec: कन्स्ट्रक्टर द्वारा बुलाए गए एक इंस्टेंस विधि को कैसे दबाया जाए?
- 10. एक अवलोकन योग्य सरणी में किसी आइटम को सशर्त रूप से कैसे दबाया जाए?
- 11. पीएचपीएसटॉर्म के साथ रिमोट गिट रिपॉजिटरी में टैग को कैसे दबाया जाए?
- 12. नव निर्मित Google Code प्रोजेक्ट में स्थानीय गिट रेपो को कैसे दबाया जाए?
- 13. जेएसओएन-स्वरूपित दोषों को वापस करने के लिए डब्ल्यूसीएफ सेवा
- 14. प्रोग्रामेटिक रूप से कैश दोषों की गणना
- 15. जेएक्स-डब्ल्यूएस - दोषों के लिए मानचित्र अपवाद
- 16. iPhone: दबाया राज्य
- 17. isShiftDown जब JButton दबाया?
- 18. स्क्रीन पिक्सल को कैसे पढ़ा जाए?
- 19. विजुअल स्टूडियो के साथ एक क्यूटी जीयूआई में ओपनसीवी छवि देखने वाली विंडो को कैसे दबाया जाए?
- 20. gmon.out को कैसे पढ़ा जाए?
- 21. यूआईपीप्लिकेशन को कैसे घटाया जाए?
- 22. कुकीज को कैसे उठाया जाए?
- 23. javax.faces.model.SelectItem को कैसे बनाया जाए
- 24. मैं PHP सीएलआई में सेगमेंटेशन दोषों को कैसे डिबग कर सकता हूं?
- 25. x86: डेटा-संरेखण दोषों को कैसे पकड़ें (स्पार्क पर उर्फ सिगबस)
- 26. प्राथमिकता से वरीयता को कैसे हटाया जाए?
- 27. jqgrid में userData को कैसे पढ़ा जाए?
- 28. बिल्कुल एक पंक्ति को कैसे पढ़ा जाए?
- 29. std :: unique_ptr को कैसे पास किया जाए?
- 30. कैमरा पूर्वावलोकन को कैसे बढ़ाया जाए?
यह ध्यान दिया जाना चाहिए कि असेंबली को 'CODE_ANALYSIS' प्रतीक के साथ संकलित किया जाना चाहिए [इसके लिए काम करने के लिए] [http://www.mono-project.com/Gendarme.FAQ#Why_are_defects_decorated_using_.5BSuppressMessage.5D_attributes_still_showing_in_my_reports_.3F)। –
साथ ही, नवीनतम संस्करण FxCop संगतता जोड़ते हैं, इसलिए यदि आपके पास पहले से FxCop से एक SuppressMessage है और Gendarme में समकक्ष नियम है, तो संदेश दबा दिया जाएगा। –