Respostas:
5 opções:
#pragma warning disable 1591
para desativar o aviso apenas para alguns bits de código (e #pragma warning restore 1591
depois)Adicione comentários XML aos tipos e membros visíveis publicamente, é claro :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
Você precisa desses <summary>
comentários do tipo em todos os membros - eles também aparecem no menu pop-up do intellisense.
O motivo para você receber esse aviso é porque você configurou seu projeto para gerar o arquivo xml da documentação (nas configurações do projeto). Isso é útil para bibliotecas de classes (assemblies .dll), o que significa que os usuários de seu .dll estão obtendo documentação intellisense para sua API no Visual Studio.
Eu recomendo que você obtenha uma cópia do Add-in do GhostDoc Visual Studio. Torna a documentação muito mais fácil.
GhostDoc
- o AddOn mais estúpido que eu já vi. Gera documentação. Agora pare um segundo para pensar sobre isso. Você deseja que seu código seja mais compreensível, portanto, use uma ferramenta que gere documentação exclusivamente com base no nome do método e nos tipos de argumentos. Isso faz sentido para você? O usuário pode ver o nome e os tipos dos argumentos, adicionar um comentário a DateTime date
- A data realmente não ajuda.
Suprimir avisos para comentários XML
(não é o meu trabalho, mas achei útil, então incluí o artigo e o link)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Aqui, mostrarei como você pode suprimir avisos para comentários XML após uma compilação do Visual Studio.
fundo
Se você tiver marcado a marca "Arquivo de documentação XML" nas configurações do projeto do Visual Studio, um arquivo XML contendo todos os comentários XML será criado. Além disso, você receberá muitos avisos também nos arquivos gerados pelo designer, devido a comentários XML ausentes ou incorretos. Embora, algumas vezes, os avisos nos ajudem a melhorar e estabilizar nosso código, receber centenas de avisos de comentários XML é apenas uma dor. Advertências
Comentário XML ausente para o tipo ou membro publicamente visível… O comentário XML ativado… possui uma tag param para '…', mas não há parâmetro com esse nome O parâmetro '...' não possui tag param correspondente no comentário XML para '…' (mas outros parâmetros fazem) Solução
Você pode suprimir todos os avisos no Visual Studio.
Clique com o botão direito do mouse no projeto Visual Studio / Propriedades / Guia Compilar
Insira os seguintes números de aviso nos "Suprimir avisos": 1591,1572,1571,1573,1587,1570
Há outra maneira de suprimir essas mensagens sem a necessidade de nenhuma alteração de código ou bloco de pragma. Usando o Visual Studio - Vá para propriedades do projeto> Compilar> Erros e avisos> Suprimir avisos - anexe 1591 à lista de códigos de aviso.
#pragma warning disable
todos os lugares, o que é apenas irritante.
Inserir um comentário XML. ;-)
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
Isso pode parecer uma piada à primeira vista, mas pode ser realmente útil. Para mim, foi útil pensar sobre o que os métodos fazem, mesmo para métodos privados (a menos que seja realmente trivial, é claro).
Isso ocorre porque um arquivo de documentação XML foi especificado nas Propriedades do projeto e Seu método / classe é público e não possui documentação.
Você também pode :
Clique com o botão direito do mouse em seu projeto -> Propriedades -> guia 'Compilar' -> desmarque o arquivo de documentação XML.
Resumo da documentação XML é assim:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
Eu queria adicionar algo às respostas listadas aqui:
Como Isak apontou, a documentação XML é útil para bibliotecas de classes, pois fornece inteligência para qualquer consumidor no Visual Studio. Portanto, uma solução fácil e correta é simplesmente desativar a documentação de qualquer projeto de nível superior (como UI, etc), que não será implementado fora de seu próprio projeto.
Além disso, eu queria ressaltar que o aviso é expresso apenas em membros publicamente visíveis . Portanto, se você configurar sua biblioteca de classes para expor apenas o que é necessário, poderá sobreviver sem documentação private
e internal
membros.
Eu sei que esse é um encadeamento muito antigo, mas é a primeira resposta no google, então pensei em adicionar esta informação:
Esse comportamento ocorre apenas quando o nível de aviso está definido como 4 em "Propriedades do projeto" -> "Compilar" . A menos que você realmente precise de tanta informação, pode configurá-lo para 3 e se livrar desses avisos. Obviamente, alterar o nível de aviso afeta mais do que apenas comentários, portanto, consulte a documentação se não tiver certeza do que está perdendo:
https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
Na sua solução, depois de marcar a opção para gerar o arquivo XML Document, ele começará a verificar seus membros públicos, para obter o XMLDoc, se não houver, você receberá um aviso por cada elemento. se você realmente não deseja liberar sua DLL e também não precisa de documentação, vá para a sua solução, construa a seção e desative-a; caso contrário, se precisar, preencha-a e se não houver importância propriedades e campos, basta superá-los com instruções pré-compilador,
#pragma warning disable 1591
você também pode restaurar o aviso:
#pragma warning restore 1591
uso pragma: qualquer código no local antes do local para o qual você recebe o aviso do compilador ... (para arquivo, coloque-o no cabeçalho e não é necessário ativá-lo novamente, para agrupar classe única em uma classe ou para agrupar método) um método ou ... você não precisa envolvê-lo, pode chamá-lo e restaurá-lo casualmente (inicie no início do arquivo e termine dentro de um método)), escreva este código:
#pragma warning disable 1591
e caso precise restaurá-lo, use:
#pragma warning restore 1591
Aqui está um exemplo:
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; }
}
}
Observe que a diretiva pragma começa no início da linha
Definir o nível de aviso para 2 suprime essas mensagens. Não sei se é a melhor solução, pois também suprime avisos úteis.
A resposta de Jon Skeet funciona muito bem quando você está construindo com o VisualStudio. No entanto, se você estiver construindo o sln através da linha de comando (no meu caso, foi via Ant), poderá descobrir que o msbuild ignora os pedidos de supressão do sln.
Adicionar isso à linha de comando do msbuild resolveu o problema para mim:
/p:NoWarn=1591
Arquivo > Editar > Visualizar projeto (clique)
Na parte inferior do arco suspenso (clique em Abrir / Trabalho atual > Propriedades ), abra a página de propriedades do projeto em "Build" em "Output". Caixa de seleção "Desmarcar" documentação XML .
Reconstruir e nenhum aviso.
Você precisa adicionar /// Comentário para o membro para o qual o aviso é exibido.
veja código abaixo
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
Ele exibe um aviso de aviso de falta de XML para o tipo ou membro publicamente visível '.EventLogger ()'
Eu adicionei comentário para o membro e aviso foi.
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}