Я отримую це попередження: "Відсутній коментар XML для загальнодоступного типу або члена".
Як це вирішити?
Я отримую це попередження: "Відсутній коментар XML для загальнодоступного типу або члена".
Як це вирішити?
Відповіді:
5 варіантів:
#pragma warning disable 1591
для відключення попередження лише для деяких бітів коду (і #pragma warning restore 1591
після)Додайте коментарі XML до загальнодоступних типів та членів курсу :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
Вам потрібні такі <summary>
коментарі щодо всіх учасників - вони також відображаються у міжсмуговому спливаючому меню.
Причина ви отримаєте це попередження, тому що ви налаштували свій проект для виведення документації файлу XML (в настройках проекту). Це корисно для бібліотек класів (.dll збірок), що означає, що користувачі вашого .dll отримують документознавчу документацію для вашого API саме там у візуальній студії.
Я рекомендую вам придбати собі копію додатка GhostDoc Visual Studio AddIn .. Документування значно спрощує.
GhostDoc
- найглухіший AddOn, який я коли-небудь бачив. Він формує документацію. Тепер зробіть паузу на секунду, щоб подумати над цим. Ви хочете, щоб ваш код був більш зрозумілим, тому ви використовуєте інструмент, який створює документацію виключно на основі назви методу та типів аргументів. Це має для вас сенс? Користувач може побачити ім'я та типи аргументів, додати коментар до DateTime date
- Дата дійсно не допомагає.
Придушити попередження для коментарів XML
(не моя робота, але я вважаю її корисною, тому я включив статтю та посилання)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Тут я покажу вам, як ви можете придушити попередження для коментарів XML після збірки Visual Studio.
Фон
Якщо ви встановили позначку "Файл документації XML" в налаштуваннях проекту Visual Studio, створюється XML-файл, що містить усі коментарі XML. Крім того, ви отримаєте багато попереджень також у файлах, створених дизайнером, через відсутніх або неправильних коментарів XML. Хоча іноді попередження допомагає нам покращити та стабілізувати наш код, отримання сотень попереджень про коментарі XML - це просто біль. Попередження
Відсутній коментар XML для загальнодоступного типу або члена… У коментарі XML… є тег парамметів для „…“, але немає параметра за цим ім’ям Параметр „…“ не має відповідного тегу парам у коментарі XML для „…“ (але інші параметри роблять) Рішення
Ви можете придушити кожне попередження у Visual Studio.
Клацніть правою кнопкою миші проект Visual Studio / Властивості / Збірка
Вставте наступні номери попереджень у "Придушити попередження": 1591,1572,1571,1573,1587,1570
Існує ще один спосіб придушити ці повідомлення без необхідності зміни коду чи прагматичних блоків. Використання Visual Studio - Перейдіть до властивостей проекту> Збірка> Помилки та попередження> Придушити попередження - додайте 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..
Я хотів щось додати до наведених тут відповідей:
Як зазначив Ісак, XML-документація є корисною для бібліотек класів, оскільки забезпечує інтелігенцію для будь-яких споживачів у Visual Studio. Тому легким і правильним рішенням є просто вимкнути документацію для будь-якого проекту вищого рівня (наприклад, інтерфейсу користувача тощо), який не буде реалізований за межами власного проекту.
Крім того, я хотів би зазначити, що попередження висловлюється лише для публічно видимих членів. Отже, якщо ви налаштуєте бібліотеку класів лише на те, що їй потрібно, ви можете пройти, не документуючи 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. Однак, якщо ви будуєте sln за допомогою командного рядка (в моєму випадку це було через Ant), ви можете виявити, що msbuild ігнорує запити на придушення sln.
Додавання цього до командного рядка 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);
}