আমি এই সতর্কতাটি পাচ্ছি: "প্রকাশ্যে দৃশ্যমান টাইপ বা সদস্যের জন্য এক্সএমএল মন্তব্য অনুপস্থিত"।
কীভাবে সমাধান করবেন?
আমি এই সতর্কতাটি পাচ্ছি: "প্রকাশ্যে দৃশ্যমান টাইপ বা সদস্যের জন্য এক্সএমএল মন্তব্য অনুপস্থিত"।
কীভাবে সমাধান করবেন?
উত্তর:
৫ টি বিকল্প:
#pragma warning disable 1591
কোডের কিছু বিটের জন্য সতর্কতাটি অক্ষম করতে ব্যবহার করুন (এবং #pragma warning restore 1591
তারপরে)এক্সএমএল মন্তব্যগুলি সর্বজনীনভাবে দৃশ্যমান ধরণের এবং অবশ্যই সদস্যদের যোগ করুন :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
আপনার <summary>
সকল সদস্যের জন্য এই ধরণের মন্তব্য দরকার - এগুলি ইন্টিলিসেন্স পপআপ মেনুতেও প্রদর্শিত হয়।
কারণ আপনি এই সতর্কতাটি পেতে কারণ আপনার আউটপুট ডকুমেন্টেশন XML ফাইলে আপনার প্রকল্পের সেট করেছি (প্রকল্পের সেটিংসে) হয়। এটি ক্লাস লাইব্রেরি (.dll সমাবেশগুলি) এর জন্য দরকারী যার অর্থ আপনার .dll এর ব্যবহারকারীরা ঠিক আপনার ভিজ্যুয়াল স্টুডিওতে আপনার API এর জন্য ইন্টেলিসেন্স ডকুমেন্টেশন পাচ্ছেন।
আমি আপনাকে ঘোস্টডক ভিজ্যুয়াল স্টুডিও অ্যাডআইনের একটি অনুলিপি পেতে পরামর্শ দিই .. ডকুমেন্টিংকে আরও সহজ করে তোলে।
GhostDoc
- আমি যে বোকামি অ্যাডঅন দেখেছি। এটি ডকুমেন্টেশন জেনারেট করে। এখন এটি সম্পর্কে চিন্তা করতে এক সেকেন্ড বিরতি দিন। আপনি চান যে আপনার কোডটি আরও বোধগম্য হোক যাতে আপনি একটি সরঞ্জাম ব্যবহার করেন যা কেবলমাত্র নামের নাম এবং যুক্তির ধরণের ভিত্তিতে ডকুমেন্টেশন তৈরি করে। এটা কি আপনার বোঝার? ব্যবহারকারী আর্গুমেন্টের নাম এবং প্রকারগুলি দেখতে পারে, এতে মন্তব্য যুক্ত করতে পারে DateTime date
- তারিখটি সত্যিই সহায়তা করে না।
এক্সএমএল মন্তব্যের জন্য সতর্কতা দমন করুন
(আমার কাজ নয়, তবে আমি এটি দরকারী বলে মনে করেছি যাতে আমি নিবন্ধ এবং লিঙ্কটি অন্তর্ভুক্ত করেছি)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
এখানে আমি আপনাকে দেখাব, ভিজুয়াল স্টুডিও তৈরির পরে আপনি কীভাবে এক্সএমএল মন্তব্যের জন্য সতর্কতাগুলি দমন করতে পারেন।
পটভূমি
আপনি যদি ভিজ্যুয়াল স্টুডিও প্রকল্প সেটিংসে "এক্সএমএল ডকুমেন্টেশন ফাইল" চিহ্নটি পরীক্ষা করে থাকেন, সমস্ত এক্সএমএল মন্তব্যযুক্ত একটি এক্সএমএল ফাইল তৈরি করা হয়। এক্সএমএল অনুপস্থিত বা ভুল মন্তব্যগুলির কারণে ডিজাইনার উত্পন্ন ফাইলগুলিতেও আপনি প্রচুর সতর্কতা পাবেন। যদিও কখনও কখনও সতর্কতাগুলি আমাদের কোডটি উন্নত ও স্থিতিশীল করতে সহায়তা করে, কয়েকশ এক্সএমএল মন্তব্য সতর্কতা পাওয়া কেবল ব্যথা। সতর্কবাণী
সর্বজনীনভাবে দৃশ্যমান প্রকার বা সদস্যের জন্য এক্সএমএল মন্তব্য অনুপস্থিত ... এক্সএমএল মন্তব্যটিতে… '...' এর জন্য একটি প্যারাম ট্যাগ রয়েছে, তবে '…' এর জন্য এক্সএমএল মন্তব্যে কোনও প্যারামিটার নেই '...' (তবে অন্যান্য পরামিতিগুলি) সমাধান
আপনি ভিজ্যুয়াল স্টুডিওতে প্রতিটি সতর্কতা দমন করতে পারেন।
ভিজ্যুয়াল স্টুডিও প্রকল্প / বৈশিষ্ট্য / বিল্ড ট্যাবটিতে ডান ক্লিক করুন
"সতর্কতা দমন করুন" এ নিম্নলিখিত সতর্কতা নম্বরগুলি সন্নিবেশ করুন: 1591,1572,1571,1573,1587,1570
কোনও কোড পরিবর্তন বা প্রগমা ব্লক ছাড়াই আপনি এই বার্তাগুলিকে দমন করতে পারেন এমন আরও একটি উপায় রয়েছে। ভিজ্যুয়াল স্টুডিও ব্যবহার করে - প্রকল্পের বৈশিষ্ট্যগুলিতে যান> বিল্ড> ত্রুটি এবং সতর্কতা> সতর্কতা দমন করুন - সতর্কতা কোডের তালিকায় 1591 যুক্ত করুন।
#pragma warning disable
সর্বত্র ছড়িয়ে দেওয়া থেকে বিরত রাখে , যা কেবল বিরক্তিকর।
একটি এক্সএমএল মন্তব্য sertোকান। ;-)
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
এটি প্রথম নজরে কৌতুকের মতো উপস্থিত হতে পারে তবে এটি আসলে কার্যকর হতে পারে। আমার জন্য এটি বেসরকারী পদ্ধতির জন্য কী পদ্ধতিগুলি (সত্যই তুচ্ছ না হলে অবশ্যই) তা ভাবতে সহায়ক হতে পারে।
এটি কারণ আপনার প্রকল্পের বৈশিষ্ট্যগুলিতে একটি এক্সএমএল ডকুমেন্টেশন ফাইল নির্দিষ্ট করা হয়েছে এবং আপনার পদ্ধতি / শ্রেণি সর্বজনীন এবং নথিপত্রের অভাব রয়েছে।
অপরপক্ষে তুমি :
আপনার প্রকল্প -> বৈশিষ্ট্য -> 'বিল্ড' ট্যাবে -> এক্সএমএল ডকুমেন্টেশন ফাইলটি চেক থেকে ডান ক্লিক করুন।
এক্সএমএল ডকুমেন্টেশনের সংক্ষিপ্তসারটি এরকম হয়:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
আমি এখানে তালিকাবদ্ধ উত্তরগুলিতে কিছু যুক্ত করতে চেয়েছিলাম:
ইসাক যেমন উল্লেখ করেছেন, এক্সএমএল ডকুমেন্টেশন ক্লাস লাইব্রেরিগুলির জন্য দরকারী, কারণ এটি ভিজ্যুয়াল স্টুডিওর কোনও গ্রাহককে ইন্টেলিজেন্স সরবরাহ করে। অতএব, একটি সহজ এবং সঠিক সমাধানটি হ'ল কোনও শীর্ষ-স্তরের প্রকল্পের (যেমন ইউআই, ইত্যাদি) এর ডকুমেন্টেশনগুলি কেবল বন্ধ করে দেওয়া, যা তার নিজস্ব প্রকল্পের বাইরে বাস্তবায়িত হয় না।
অতিরিক্ত হিসাবে আমি এটি উল্লেখ করতে চেয়েছিলাম যে সতর্কতাটি কেবল সর্বজনীনভাবে দৃশ্যমান সদস্যদের উপরই প্রকাশ করে । সুতরাং, যদি আপনি নিজের শ্রেণীর পাঠাগারটি সেট করে থাকেন তবে যা প্রয়োজন তা কেবল প্রকাশ করতে, আপনি ডকুমেন্ট private
এবং internal
সদস্য না করে পেতে পারেন ।
আমি জানি এটি একটি সত্যই পুরানো থ্রেড, তবে গুগলে এটিই প্রথম প্রতিক্রিয়া, তাই আমি ভেবেছিলাম আমি এই বিট তথ্যটি যুক্ত করব:
এই প্রকল্পটি তখনই ঘটে যখন "প্রকল্পের সম্পত্তি" -> "বিল্ড" এর অধীনে সতর্কতা স্তর 4 সেট করা হয় This । আপনার যদি এত বেশি তথ্যের প্রয়োজন না হয় তবে আপনি এটি 3 এ সেট করতে পারেন এবং আপনি এই সতর্কতাগুলি থেকে মুক্তি পাবেন। অবশ্যই, সতর্কতার স্তরটি পরিবর্তন করা কেবলমাত্র মন্তব্যের চেয়ে বেশি প্রভাবিত করে, তাই দয়া করে আপনি কী অনুপস্থিত তা নিশ্চিত না থাকলে ডকুমেন্টেশনটি দেখুন:
https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
আপনার সমাধানে, আপনি একবার এক্সএমএল ডকুমেন্ট ফাইল তৈরি করার বিকল্পটি পরীক্ষা করে নিলে এটি আপনার সর্বজনীন সদস্যদের এক্সএমএলডোক থাকার জন্য পরীক্ষা করা শুরু করে, যদি তা না করে তবে আপনি প্রতিটি উপাদান হিসাবে একটি সতর্কতা পাবেন receive আপনি যদি সত্যিই আপনার ডিএলএল প্রকাশ করতে না চান এবং এছাড়াও আপনার যদি ডকুমেন্টের প্রয়োজন না হয় তবে আপনার সমাধানে যান, বিভাগটি তৈরি করুন এবং এটি বন্ধ করুন, অন্যথায় আপনার যদি প্রয়োজন হয় তবে সেগুলি পূরণ করুন, এবং যদি গুরুত্বহীন থাকে বৈশিষ্ট্য এবং ক্ষেত্রগুলি, কেবল প্রাক-সংকলক নির্দেশকে ছাড়িয়ে যান
#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 তে সেট করা এই বার্তাগুলিকে দমন করে। এটি সর্বোত্তম সমাধান কিনা তা জানেন না কারণ এটি দরকারী সতর্কতাগুলিও দমন করে।
আপনি যখন ভিজুয়ালস্টুডিওর সাথে নির্মাণ করছেন তখন জোন স্কীটের উত্তর দুর্দান্ত কাজ করে। তবে, আপনি যদি কমান্ড লাইনের মাধ্যমে স্লানটি তৈরি করে থাকেন (আমার ক্ষেত্রে এটি পিঁপড়ের মাধ্যমে ছিল) তবে আপনি দেখতে পাবেন যে এমএসবিল্ড স্লান সুপারিশনের অনুরোধগুলি উপেক্ষা করে।
এটি এমএসবিল্ড কমান্ড লাইনে যুক্ত করা আমার সমস্যার সমাধান করেছে:
/p:NoWarn=1591
ফাইল > সম্পাদনা > দেখুন প্রকল্প (ক্লিক করুন)
ড্রপ ডাউন ধনুর নীচে ( ওপেন / কারেন্ট ওয়ার্ক > প্রোপার্টিগুলিতে ক্লিক করুন ), "আউটপুট" এর অধীনে "বিল্ড" এ প্রকল্পের বৈশিষ্ট্য পৃষ্ঠা খুলুন । "আনচেক করুন" এক্সএমএল ডকুমেন্টেশন চেকবক্স।
পুনর্নির্মাণ এবং কোনও সতর্কতা নেই।
আপনাকে সেই সদস্যটির জন্য /// মন্তব্য যুক্ত করতে হবে যার জন্য সতর্কতা প্রদর্শিত হয়।
নীচে কোড দেখুন
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
এটি সর্বজনীনভাবে দৃশ্যমান প্রকার বা সদস্য '.EventLogger ()' এর জন্য সতর্কতা মিস করা XML মন্তব্য প্রদর্শন করে
আমি সদস্যের জন্য মন্তব্য যোগ করেছি এবং সতর্কতা চলে গেছে।
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}