मुझे यह चेतावनी मिल रही है: "सार्वजनिक रूप से दिखने वाले टाइप या सदस्य के लिए एक्सएमएल टिप्पणी याद आती है"।
इसे कैसे हल करें?
मुझे यह चेतावनी मिल रही है: "सार्वजनिक रूप से दिखने वाले टाइप या सदस्य के लिए एक्सएमएल टिप्पणी याद आती है"।
इसे कैसे हल करें?
जवाबों:
5 विकल्प:
#pragma warning disable 1591
कोड के कुछ बिट्स (और #pragma warning restore 1591
बाद में) के लिए चेतावनी को निष्क्रिय करने के लिए उपयोग करेंसार्वजनिक रूप से दिखाई देने वाले और निश्चित रूप से सदस्यों के लिए XML टिप्पणी जोड़ें :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
आपको <summary>
सभी सदस्यों पर इन प्रकार की टिप्पणियों की आवश्यकता है - ये भी इंटेलीजेंस पॉपअप मेनू में दिखाई देते हैं।
कारण आप इस चेतावनी मिलती है क्योंकि आप उत्पादन प्रलेखन एक्सएमएल फाइल करने के लिए अपनी परियोजना निर्धारित किया है (परियोजना सेटिंग्स में) है। यह कक्षा पुस्तकालयों (.dll असेंबली) के लिए उपयोगी है, जिसका अर्थ है कि आपके .dll के उपयोगकर्ता दृश्य स्टूडियो में अपने API के लिए अंतःविषय प्रलेखन प्राप्त कर रहे हैं।
मेरा सुझाव है कि आप अपने आप को घोस्टडॉक विजुअल स्टूडियो एडइन .. की एक प्रति प्राप्त करें ।
GhostDoc
- मैंने जो बेवकूफ ऐडऑन देखा है। यह प्रलेखन उत्पन्न करता है। अब इसके बारे में सोचने के लिए एक सेकंड रुकें। आप चाहते हैं कि आपका कोड अधिक समझ में आए, इसलिए आप एक उपकरण का उपयोग करें जो केवल विधि के नाम और तर्कों के आधार पर प्रलेखन उत्पन्न करता है। क्या तुम्हें इसका कोई मतलब लगता है? उपयोगकर्ता नाम और प्रकार के तर्कों को देख सकता है, टिप्पणी में जोड़ सकता है DateTime date
- तिथि वास्तव में मदद नहीं करती है।
XML टिप्पणियों के लिए चेतावनी को दबाएं
(मेरा काम नहीं है, लेकिन मुझे यह उपयोगी लगा, इसलिए मैंने लेख और लिंक शामिल किया है)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
यहां मैं आपको दिखाऊंगा, कि विज़ुअल स्टूडियो के निर्माण के बाद आप XML टिप्पणियों के लिए चेतावनी को कैसे दबा सकते हैं।
पृष्ठभूमि
यदि आपने Visual Studio प्रोजेक्ट सेटिंग्स में "XML डॉक्यूमेंट फाइल" मार्क को चेक किया है, तो एक XML फाइल जिसमें सभी XML कमेंट बने हैं। इसके अलावा, आपको डिज़ाइन की गई फ़ाइलों में बहुत सारी चेतावनियाँ भी मिलेंगी, क्योंकि गुम या गलत XML टिप्पणियों के कारण। जबकि कभी-कभी चेतावनियां हमारे कोड को बेहतर बनाने और स्थिर करने में मदद करती हैं, सैकड़ों XML टिप्पणी चेतावनी प्राप्त करना केवल एक दर्द है। चेतावनी
सार्वजनिक रूप से दिखाई देने वाले प्रकार या सदस्य के लिए XML टिप्पणी गुम ... XML टिप्पणी पर ... '...' के लिए एक परम टैग है, लेकिन उस नाम पैरामीटर द्वारा कोई पैरामीटर नहीं है ... '' के लिए XML टिप्पणी में कोई मिलान परम टैग नहीं है ... (लेकिन अन्य मापदंडों) समाधान
आप विजुअल स्टूडियो में हर चेतावनी को दबा सकते हैं।
Visual Studio प्रोजेक्ट / प्रॉपर्टीज़ / बिल्ड टैब पर राइट-क्लिक करें
"चेतावनी को दबाएं" में निम्नलिखित चेतावनी नंबर डालें: 1591,1572,1571,1573,1587,1570
एक और तरीका है कि आप इन संदेशों को बिना किसी कोड परिवर्तन या प्रज्ञा ब्लॉक की आवश्यकता के दबा सकते हैं। विज़ुअल स्टूडियो का उपयोग करना - प्रोजेक्ट गुणों पर जाएं> बिल्ड> त्रुटियां और चेतावनी> चेतावनी को दबाएं - चेतावनी कोड की सूची में 1591 को जोड़ें।
#pragma warning disable
हर जगह के साथ अपने कोडबेस को बिखरने से रोकता है, जो कि केवल कष्टप्रद है।
XML टिप्पणी डालें। ;-)
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
यह पहली नज़र में एक मजाक जैसा लग सकता है, लेकिन यह वास्तव में उपयोगी हो सकता है। मेरे लिए यह सोचने में मददगार साबित हुआ कि निजी तरीकों के लिए भी क्या तरीके हैं (जब तक कि वास्तव में तुच्छ नहीं है, निश्चित रूप से)।
ऐसा इसलिए है क्योंकि आपके प्रोजेक्ट प्रॉपर्टीज में XML डॉक्यूमेंट फाइल निर्दिष्ट किया गया है और आपकी विधि / क्लास सार्वजनिक है और डॉक्यूमेंटेशन की कमी है।
आप या तो यह कर सकते हैं :
अपने प्रोजेक्ट पर राइट क्लिक करें -> गुण -> 'बिल्ड' टैब -> XML डॉक्यूमेंटेशन फ़ाइल को अनचेक करें।
XML प्रलेखन का सारांश इस प्रकार है:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
मैं यहाँ सूचीबद्ध उत्तरों में कुछ जोड़ना चाहता था:
जैसा कि इसाक ने कहा है, एक्सएमएल दस्तावेज़ क्लास लाइब्रेरीज़ के लिए उपयोगी है, क्योंकि यह विजुअल स्टूडियो के भीतर किसी भी उपभोक्ता को इंटेलीजेंस प्रदान करता है। इसलिए, एक आसान और सही समाधान किसी भी शीर्ष-स्तरीय परियोजना (जैसे UI, आदि) के लिए प्रलेखन को बंद करना है, जो कि अपने स्वयं के प्रोजेक्ट के बाहर लागू नहीं होने जा रहा है।
इसके अतिरिक्त मैं यह बताना चाहता था कि चेतावनी केवल सार्वजनिक रूप से दृश्यमान सदस्यों पर ही व्यक्त होती है । इसलिए, यदि आप अपनी कक्षा की लाइब्रेरी को केवल उसी चीज़ को उजागर करने के लिए सेटअप करते हैं, जिसकी उसे आवश्यकता है, तो आप दस्तावेज़ private
और internal
सदस्यों के बिना प्राप्त कर सकते हैं ।
मुझे पता है कि यह वास्तव में एक पुराना धागा है, लेकिन यह Google पर पहली प्रतिक्रिया है, इसलिए मैंने सोचा कि मैं इस जानकारी को थोड़ा जोड़ दूंगा:
यह व्यवहार केवल तब होता है जब चेतावनी स्तर "प्रोजेक्ट गुण" के तहत 4 पर सेट होता है -> "बिल्ड" । जब तक आपको वास्तव में उस जानकारी की आवश्यकता नहीं होती है जिसे आप इसे 3 पर सेट कर सकते हैं और आपको इन चेतावनियों से छुटकारा मिल जाएगा। बेशक, चेतावनी स्तर बदलने से केवल टिप्पणियों से अधिक प्रभावित होता है, इसलिए कृपया दस्तावेज़ का संदर्भ लें यदि आप अनिश्चित हैं कि आप क्या याद कर रहे हैं:
https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
अपने समाधान में, एक बार जब आप XML डॉक्यूमेंट फ़ाइल जेनरेट करने के विकल्प की जाँच करते हैं, तो यह आपके सार्वजनिक सदस्यों की जाँच करना शुरू कर देता है, XMLDoc होने के लिए, यदि वे नहीं करते हैं, तो आपको प्रत्येक तत्व के लिए एक चेतावनी मिलेगी। यदि आप वास्तव में अपने DLL को जारी नहीं करना चाहते हैं, और आपको दस्तावेज़ों की भी आवश्यकता नहीं है, तो अपने समाधान पर जाएं, अनुभाग बनाएं, और इसे बंद करें, अन्यथा यदि आपको इसकी आवश्यकता है, तो उन्हें भरें, और यदि महत्वहीन हैं गुण और फ़ील्ड, पूर्व-संकलक अनुदेश के साथ उन्हें पार करें
#pragma warning disable 1591
आप चेतावनी को बहाल भी कर सकते हैं:
#pragma warning restore 1591
व्यावहारिक उपयोग: कोई भी जहाँ कोड में आपको उस जगह के लिए संकलक चेतावनी मिलती है ... (फ़ाइल के लिए, इसे हेडर में रखें, और आपको इसे फिर से सक्षम करने की आवश्यकता नहीं है, कक्षा के चारों ओर एकल वर्ग रैप के लिए, या विधि लपेटने के लिए चारों ओर। एक विधि, या ... आपको या तो इसे चारों ओर लपेटने की आवश्यकता नहीं है, आप इसे कॉल कर सकते हैं और इसे आकस्मिक रूप से पुनर्स्थापित कर सकते हैं (फ़ाइल की शुरुआत में शुरू करें, और एक विधि के अंदर समाप्त करें)), इस कोड को लिखें:
#pragma warning disable 1591
और यदि आपको इसे पुनर्स्थापित करने की आवश्यकता है, तो उपयोग करें:
#pragma warning restore 1591
यहाँ एक उदाहरण है:
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using RealEstate.Entity.Models.Base;
namespace RealEstate.Models.Base
{
public class CityVM
{
#pragma warning disable 1591
[Required]
public string Id { get; set; }
[Required]
public string Name { get; set; }
public List<LanguageBasedName> LanguageBasedNames { get; set; }
[Required]
public string CountryId { get; set; }
#pragma warning restore 1591
/// <summary>
/// Some countries do not have neither a State, nor a Province
/// </summary>
public string StateOrProvinceId { get; set; }
}
}
ध्यान दें कि प्राग्मा निर्देश पंक्ति की शुरुआत में शुरू होता है
चेतावनी स्तर को 2 पर सेट करने से यह संदेश दब जाता है। पता नहीं कि यह सबसे अच्छा समाधान है क्योंकि यह उपयोगी चेतावनियों को भी दबा देता है।
जब आप VisualStudio के साथ निर्माण कर रहे हों तो जॉन स्कीट का जवाब बहुत अच्छा है। हालाँकि, यदि आप कमांड लाइन के माध्यम से स्लैन का निर्माण कर रहे हैं (मेरे मामले में यह चींटी के माध्यम से था) तो आप पा सकते हैं कि msbuild एसएलएन सुप्रेशन अनुरोधों की उपेक्षा करता है।
इसे msbuild कमांड लाइन में जोड़ने से मेरे लिए समस्या हल हो गई:
/p:NoWarn=1591
फ़ाइल > संपादित करें > प्रोजेक्ट देखें (क्लिक करें)
ड्रॉप डाउन धनुष के नीचे ( ओपन / करंट वर्क > प्रॉपर्टीज पर क्लिक करें ), "आउटपुट" के तहत "बिल्ड" पर प्रोजेक्ट प्रॉपर्टीज पेज खोला। XML दस्तावेज़ चेकबॉक्स को "अनचेक करें" ।
पुनर्निर्माण और कोई चेतावनी नहीं।
आपको उस सदस्य के लिए /// कमेंट जोड़ने की आवश्यकता है जिसके लिए चेतावनी प्रदर्शित की गई है।
कोड के नीचे देखें
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
यह सार्वजनिक रूप से दिखने वाले प्रकार या सदस्य के लिए गुम XML टिप्पणी की चेतावनी प्रदर्शित करता है .EventLogger () '
मैंने सदस्य के लिए टिप्पणी जोड़ दी और चेतावनी चली गई।
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}