J'obtiens cet avertissement: "Commentaire XML manquant pour le type ou le membre visible publiquement".
Comment résoudre ça?
J'obtiens cet avertissement: "Commentaire XML manquant pour le type ou le membre visible publiquement".
Comment résoudre ça?
Réponses:
5 options:
#pragma warning disable 1591
pour désactiver l'avertissement uniquement pour certains bits de code (et #pragma warning restore 1591
après)Ajoutez des commentaires XML aux types visibles publiquement et aux membres bien sûr :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
Vous avez besoin de ces <summary>
commentaires de type sur tous les membres - ils apparaissent également dans le menu contextuel intellisense.
La raison pour laquelle vous obtenez cet avertissement est que vous avez défini votre projet pour générer un fichier xml de documentation (dans les paramètres du projet). Ceci est utile pour les bibliothèques de classes (assemblys .dll), ce qui signifie que les utilisateurs de votre .dll obtiennent la documentation intellisense pour votre API directement dans Visual Studio.
Je vous recommande de vous procurer une copie du GhostDoc Visual Studio AddIn .. Rend la documentation beaucoup plus facile.
GhostDoc
- le plus stupide AddOn que j'aie jamais vu. Il génère de la documentation. Maintenant, faites une pause pour y réfléchir. Vous voulez que votre code soit plus compréhensible, vous utilisez donc un outil qui génère de la documentation uniquement en fonction du nom de la méthode et des types d'arguments. est-ce que vous saisissez? L'utilisateur peut voir le nom et les types des arguments, ajouter un commentaire à DateTime date
- La date n'aide vraiment pas.
Supprimer les avertissements pour les commentaires XML
(pas mon travail, mais je l'ai trouvé utile, j'ai donc inclus l'article et le lien)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Ici, je vais vous montrer comment supprimer les avertissements pour les commentaires XML après une version de Visual Studio.
Contexte
Si vous avez coché la marque "Fichier de documentation XML" dans les paramètres du projet Visual Studio, un fichier XML contenant tous les commentaires XML est créé. De plus, vous obtiendrez également de nombreux avertissements dans les fichiers générés par le concepteur, en raison des commentaires XML manquants ou incorrects. Bien que parfois les avertissements nous aident à améliorer et à stabiliser notre code, obtenir des centaines d'avertissements de commentaires XML n'est qu'une douleur. Avertissements
Commentaire XML manquant pour le type ou le membre visible publiquement… Le commentaire XML sur… a une balise param pour «…», mais il n'y a pas de paramètre de ce nom Le paramètre «…» n'a pas de balise param correspondante dans le commentaire XML pour «…» (mais d'autres paramètres le font) Solution
Vous pouvez supprimer tous les avertissements dans Visual Studio.
Cliquez avec le bouton droit sur l'onglet Projet / Propriétés / Build de Visual Studio
Insérez les numéros d'avertissement suivants dans les "Supprimer les avertissements": 1591,1572,1571,1573,1587,1570
Il existe un autre moyen de supprimer ces messages sans avoir besoin de modifier le code ou de bloquer le pragma. Utilisation de Visual Studio - Accédez aux propriétés du projet> Générer> Erreurs et avertissements> Supprimer les avertissements - ajoutez 1591 à la liste des codes d'avertissement.
#pragma warning disable
partout, ce qui est juste ennuyeux.
Insérez un commentaire XML. ;-)
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
Cela peut apparaître comme une blague à première vue, mais cela peut en fait être utile. Pour moi, il s'est avéré utile de réfléchir à ce que les méthodes font même pour les méthodes privées (à moins que ce soit vraiment trivial, bien sûr).
En effet, un fichier de documentation XML a été spécifié dans les propriétés de votre projet et votre méthode / classe est publique et manque de documentation.
Vous pouvez soit :
Faites un clic droit sur votre projet -> Propriétés -> onglet 'Construire' -> décochez Fichier de documentation XML.
Le résumé de la documentation XML se présente comme suit:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
Je voulais ajouter quelque chose aux réponses énumérées ici:
Comme l'a souligné Isak, la documentation XML est utile pour les bibliothèques de classes, car elle fournit intellisense à tout consommateur dans Visual Studio. Par conséquent, une solution simple et correcte consiste à simplement désactiver la documentation de tout projet de niveau supérieur (comme l'interface utilisateur, etc.), qui ne sera pas implémenté en dehors de son propre projet.
De plus, je voulais souligner que l'avertissement ne s'exprime que sur les membres publiquement visibles . Donc, si vous configurez votre bibliothèque de classes pour exposer uniquement ce dont elle a besoin, vous pouvez vous en tirer sans documentation private
ni internal
membres.
Je sais que c'est un fil très ancien, mais c'est la première réponse sur google, donc j'ai pensé ajouter ce bit d'informations:
Ce problème se produit uniquement lorsque le niveau d'avertissement est défini sur 4 sous "Propriétés du projet" -> "Construire" . Sauf si vous avez vraiment besoin de tant d'informations, vous pouvez le définir sur 3 et vous vous débarrasserez de ces avertissements. Bien sûr, la modification du niveau d'avertissement affecte plus que des commentaires, veuillez donc vous référer à la documentation si vous n'êtes pas sûr de ce qui vous manquera:
https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
Dans votre solution, une fois que vous avez coché l'option de génération du fichier de document XML, il commence à vérifier vos membres publics, pour avoir le XMLDoc, s'ils ne le font pas, vous recevrez un avertissement pour chaque élément. si vous ne voulez pas vraiment publier votre DLL et que vous n'avez pas besoin de documentations, allez dans votre solution, créez la section et désactivez-la, sinon si vous en avez besoin, remplissez-les et s'il n'y a pas d'importance propriétés et champs, il suffit de les dépasser avec des instructions de précompilation,
#pragma warning disable 1591
vous pouvez également restaurer l'avertissement:
#pragma warning restore 1591
utilisation de pragma: n'importe où dans le code avant l'endroit pour lequel vous recevez un avertissement du compilateur pour ... une méthode, ou ... vous n'avez pas non plus besoin de l'enrouler, vous pouvez l'appeler et la restaurer de manière décontractée (commencer au début du fichier et se terminer à l'intérieur d'une méthode)), écrivez ce code:
#pragma warning disable 1591
et au cas où vous auriez besoin de le restaurer, utilisez:
#pragma warning restore 1591
Voici un exemple:
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; }
}
}
Notez que la directive pragma commence au début de la ligne
La définition du niveau d'avertissement sur 2 supprime ces messages. Je ne sais pas si c'est la meilleure solution car elle supprime également les avertissements utiles.
La réponse de Jon Skeet fonctionne très bien lorsque vous construisez avec VisualStudio. Cependant, si vous construisez le sln via la ligne de commande (dans mon cas, c'était via Ant), vous pouvez constater que msbuild ignore les demandes de suppression de sln.
L'ajout de cela à la ligne de commande msbuild a résolu le problème pour moi:
/p:NoWarn=1591
Fichier > Modifier > Afficher le projet (cliquez)
En bas de l'arc déroulant (cliquez sur Ouvrir / Travail en cours > Propriétés ), la page des propriétés du projet ouverte à "Build" sous "Output". Case à cocher "Décocher" la documentation XML .
Reconstruire et aucun avertissement.
Vous devez ajouter /// Commentaire pour le membre pour lequel l'avertissement est affiché.
voir ci-dessous le code
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
Il affiche un avertissement Commentaire XML manquant pour le type ou le membre visible par le public '.EventLogger ()'
J'ai ajouté un commentaire pour le membre et l'avertissement a disparu.
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}