Ich erhalte die folgende Warnung: "Fehlender XML-Kommentar für öffentlich sichtbaren Typ oder Mitglied".
Wie kann man das lösen?
Ich erhalte die folgende Warnung: "Fehlender XML-Kommentar für öffentlich sichtbaren Typ oder Mitglied".
Wie kann man das lösen?
Antworten:
5 Optionen:
#pragma warning disable 1591
diese Option, um die Warnung nur für einige Codebits (und #pragma warning restore 1591
danach) zu deaktivieren.Fügen Sie den öffentlich sichtbaren Typen und Mitgliedern natürlich XML-Kommentare hinzu :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
Sie benötigen diese <summary>
Typkommentare für alle Mitglieder - diese werden auch im Intellisense-Popup-Menü angezeigt.
Das Grund , warum Sie diese Warnung erhalten, ist, dass Sie Ihr Projekt so eingestellt haben, dass es die XML-Dokumentationsdatei ausgibt (in den Projekteinstellungen). Dies ist nützlich für Klassenbibliotheken (DLL-Assemblys). Dies bedeutet, dass Benutzer Ihrer DLL direkt in Visual Studio eine Intellisense-Dokumentation für Ihre API erhalten.
Ich empfehle Ihnen, sich eine Kopie des GhostDoc Visual Studio AddIn zu besorgen. Erleichtert die Dokumentation erheblich.
GhostDoc
- das dümmste AddOn, das ich je gesehen habe. Es generiert Dokumentation. Halten Sie jetzt eine Sekunde inne, um darüber nachzudenken. Sie möchten, dass Ihr Code verständlicher wird, und verwenden daher ein Tool, das die Dokumentation ausschließlich auf der Grundlage des Methodennamens und der Argumenttypen generiert. Macht es für dich Sinn? Der Benutzer kann den Namen und die Typen der Argumente sehen und einen Kommentar hinzufügen DateTime date
- Das Datum hilft wirklich nicht.
Unterdrücken Sie Warnungen für XML-Kommentare
(nicht meine Arbeit, aber ich fand sie nützlich, also habe ich den Artikel und den Link eingefügt)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Hier zeige ich Ihnen, wie Sie Warnungen für XML-Kommentare nach einem Visual Studio-Build unterdrücken können.
Hintergrund
Wenn Sie die Markierung "XML-Dokumentationsdatei" in den Visual Studio-Projekteinstellungen aktiviert haben, wird eine XML-Datei mit allen XML-Kommentaren erstellt. Darüber hinaus erhalten Sie aufgrund fehlender oder falscher XML-Kommentare auch in vom Designer generierten Dateien viele Warnungen. Während manchmal Warnungen uns helfen, unseren Code zu verbessern und zu stabilisieren, ist es nur ein Schmerz, Hunderte von XML-Kommentarwarnungen zu erhalten. Warnungen
Fehlender XML-Kommentar für öffentlich sichtbaren Typ oder Mitglied… XML-Kommentar zu… hat ein Parameter-Tag für '…', aber es gibt keinen Parameter mit diesem Namen. Parameter '…' hat kein passendes Parameter-Tag im XML-Kommentar für '…' (aber andere Parameter tun) Lösung
Sie können jede Warnung in Visual Studio unterdrücken.
Klicken Sie mit der rechten Maustaste auf die Registerkarte Visual Studio-Projekt / Eigenschaften / Erstellen
Fügen Sie die folgenden Warnnummern in die "Warnungen unterdrücken" ein: 1591,1572,1571,1573,1587,1570
Es gibt eine andere Möglichkeit, diese Nachrichten zu unterdrücken, ohne dass Codeänderungen oder Pragmablöcke erforderlich sind. Verwenden von Visual Studio - Gehen Sie zu Projekteigenschaften> Erstellen> Fehler und Warnungen> Warnungen unterdrücken - fügen Sie 1591 an die Liste der Warncodes an.
#pragma warning disable
überall verstreue , was nur ärgerlich ist.
Fügen Sie einen XML-Kommentar ein. ;-);
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
Dies mag auf den ersten Blick wie ein Witz erscheinen, kann aber tatsächlich nützlich sein. Für mich hat es sich als hilfreich erwiesen, darüber nachzudenken, was Methoden auch für private Methoden tun (es sei denn, es ist natürlich wirklich trivial).
Dies liegt daran, dass in Ihren Projekteigenschaften eine XML-Dokumentationsdatei angegeben wurde und Ihre Methode / Klasse öffentlich ist und keine Dokumentation enthält.
Du kannst entweder :
Klicken Sie mit der rechten Maustaste auf Ihr Projekt -> Eigenschaften -> Registerkarte "Erstellen" -> Deaktivieren Sie die Option XML-Dokumentationsdatei.
Die Zusammenfassung der XML-Dokumentation sieht folgendermaßen aus:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
Ich wollte den hier aufgeführten Antworten etwas hinzufügen:
Wie Isak betonte, ist die XML-Dokumentation für Klassenbibliotheken nützlich, da sie jedem Benutzer in Visual Studio Intellisense bietet. Eine einfache und korrekte Lösung besteht daher darin, die Dokumentation für jedes Projekt der obersten Ebene (wie z. B. Benutzeroberfläche usw.) zu deaktivieren, das nicht außerhalb des eigenen Projekts implementiert werden soll.
Außerdem wollte ich darauf hinweisen, dass die Warnung nur für öffentlich sichtbare Mitglieder gilt. Wenn Sie also Ihre Klassenbibliothek so einrichten, dass nur das angezeigt wird, was sie benötigt, können Sie ohne Dokumentation private
und internal
Mitglieder auskommen .
Ich weiß, dass dies ein wirklich alter Thread ist, aber es ist die erste Antwort auf Google, daher dachte ich, ich würde diese Informationen hinzufügen:
Dieses Verhalten tritt nur auf, wenn die Warnstufe unter "Projekteigenschaften" -> "Erstellen" auf 4 gesetzt ist. . Wenn Sie nicht wirklich so viele Informationen benötigen, können Sie diese auf 3 setzen und diese Warnungen entfernen. Das Ändern der Warnstufe wirkt sich natürlich nicht nur auf Kommentare aus. Wenn Sie sich nicht sicher sind, was Sie vermissen, lesen Sie bitte die Dokumentation:
https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
Wenn Sie in Ihrer Lösung die Option zum Generieren einer XML-Dokumentdatei aktiviert haben, werden Ihre öffentlichen Mitglieder auf XMLDoc überprüft. Wenn dies nicht der Fall ist, erhalten Sie für jedes Element eine Warnung. Wenn Sie Ihre DLL nicht wirklich freigeben möchten und dann auch keine Dokumentationen benötigen, gehen Sie zu Ihrer Lösung, erstellen Sie einen Abschnitt und deaktivieren Sie ihn. Wenn Sie ihn benötigen, füllen Sie ihn aus, und wenn er unwichtig ist Eigenschaften und Felder, übertreffen Sie sie einfach mit einer Pre-Compiler-Anweisung.
#pragma warning disable 1591
Sie können auch die Warnung wiederherstellen:
#pragma warning restore 1591
Pragma-Verwendung: Jeder Ort im Code vor dem Ort, an dem Sie eine Compiler-Warnung für ... erhalten (für eine Datei in den Header einfügen, und Sie müssen sie nicht erneut aktivieren, für einen einzelnen Klassenumbruch um eine Klasse oder für einen Methodenumbruch eine Methode, oder ... Sie müssen sie entweder nicht umschließen, Sie können sie aufrufen und beiläufig wiederherstellen (beginnen am Anfang der Datei und enden in einer Methode)), schreiben Sie diesen Code:
#pragma warning disable 1591
und falls Sie es wiederherstellen müssen, verwenden Sie:
#pragma warning restore 1591
Hier ein Beispiel:
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; }
}
}
Beachten Sie, dass die Pragma-Direktive am Zeilenanfang beginnt
Wenn Sie die Warnstufe auf 2 setzen, werden diese Meldungen unterdrückt. Ich weiß nicht, ob es die beste Lösung ist, da es auch nützliche Warnungen unterdrückt.
Die Antwort von Jon Skeet eignet sich hervorragend, wenn Sie mit VisualStudio erstellen. Wenn Sie die SLN jedoch über die Befehlszeile erstellen (in meinem Fall über Ant), werden Sie möglicherweise feststellen, dass msbuild die SLN-Unterdrückungsanforderungen ignoriert.
Das Hinzufügen zur msbuild-Befehlszeile löste das Problem für mich:
/p:NoWarn=1591
Datei > Bearbeiten > Projekt anzeigen (klicken)
Unten im Dropdown-Bogen (klicken Sie auf Öffnen / Aktuelle Arbeit > Eigenschaften ) wurde die Seite mit den Projekteigenschaften unter "Erstellen" unter "Ausgabe" geöffnet. Kontrollkästchen " XML-Dokumentation deaktivieren" .
Wiederaufbau und keine Warnungen.
Sie müssen /// Kommentar für das Mitglied hinzufügen, für das eine Warnung angezeigt wird.
siehe unten Code
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
Es wird eine Warnung angezeigt. Fehlender XML-Kommentar für öffentlich sichtbaren Typ oder Mitglied '.EventLogger ()'
Ich habe einen Kommentar für das Mitglied hinzugefügt und die Warnung ist weg.
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}