Here i will show you, how you can suppress warnings for XML comments after a Visual Studio build.
Background
If you have checked the "XML documentation file" mark in the Visual Studio project settings, a XML file containing all XML comments is created. Additionally you will get a lot of warnings also in designer generated files, because of the missing or wrong XML comments. While sometimes warnings helps us to improve and stabilize our code, getting hundreds of XML comment warnings is just a pain.
Warnings
Missing XML comment for publicly visible type or member …
XML comment on … has a param tag for ‘…’, but there is no parameter by that name
Parameter ‘…’ has no matching param tag in the XML comment for ‘…’ (but other parameters do)
Solution
You can suppress every warning in Visual Studio.
Right-click the Visual Studio project / Properties / Build Tab
Insert the following warning numbers in the "Suppress warnings": 1591,1572,1571,1573,1587,1570
In your solution, once you check the option to generate XML Document file, it start checking your public members, for having the XMLDoc, if they don't, you'll receive a warning per each element.
if you don't really want to release your DLL, and also you don't need documentations then, go to your solution, build section, and turn it off, else if you need it, so fill them, and if there are unimportant properties and fields, just surpass them with pre-compiler instruction
#pragma warning disable 1591
you can also restore the warning :
#pragma warning restore 1591
pragma usage: any where in code before the place you get compiler warning for... (for file, put it in header, and you do not need to enable it again, for single class wrap around a class, or for method wrap around a method, or ... you do not either need to wrap it around, you can call it and restore it casually (start in begin of file, and end inside a method)), write this code:
#pragma warning disable 1591
and in case you need to restore it, use:
#pragma warning restore 1591
Here an example:
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; }
}
}
Note that pragma directive start at the begin of line
Add XML comments to the publicly visible types and members of course :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
You need these <summary> type comments on all members - these also show up in the intellisense popup menu.
The reason you get this warning is because you've set your project to output documentation xml file (in the project settings). This is useful for class libraries (.dll assemblies) which means users of your .dll are getting intellisense documentation for your API right there in visual studio.
I recommend you get yourself a copy of the GhostDoc Visual Studio AddIn.. Makes documenting much easier.
You need to add /// Comment for the member for which warning is displayed.
see below code
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
It displays warning
Missing XML comment for publicly visible type or member '.EventLogger()'
I added comment for the member and warning gone.
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
This may appear like a joke at the first glance, but it may actually be useful. For me it turned out to be helpful to think about what methods do even for private methods (unless really trivial, of course).
Suppress Warnings for XML comments
(not my work, but I found it useful so I've included the article & link)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Here i will show you, how you can suppress warnings for XML comments after a Visual Studio build.
Background
If you have checked the "XML documentation file" mark in the Visual Studio project settings, a XML file containing all XML comments is created. Additionally you will get a lot of warnings also in designer generated files, because of the missing or wrong XML comments. While sometimes warnings helps us to improve and stabilize our code, getting hundreds of XML comment warnings is just a pain. Warnings
Missing XML comment for publicly visible type or member … XML comment on … has a param tag for ‘…’, but there is no parameter by that name Parameter ‘…’ has no matching param tag in the XML comment for ‘…’ (but other parameters do) Solution
You can suppress every warning in Visual Studio.
Right-click the Visual Studio project / Properties / Build Tab
Insert the following warning numbers in the "Suppress warnings": 1591,1572,1571,1573,1587,1570
In your solution, once you check the option to generate XML Document file, it start checking your public members, for having the XMLDoc, if they don't, you'll receive a warning per each element. if you don't really want to release your DLL, and also you don't need documentations then, go to your solution, build section, and turn it off, else if you need it, so fill them, and if there are unimportant properties and fields, just surpass them with pre-compiler instruction
#pragma warning disable 1591
you can also restore the warning :#pragma warning restore 1591
pragma usage: any where in code before the place you get compiler warning for... (for file, put it in header, and you do not need to enable it again, for single class wrap around a class, or for method wrap around a method, or ... you do not either need to wrap it around, you can call it and restore it casually (start in begin of file, and end inside a method)), write this code:
#pragma warning disable 1591
and in case you need to restore it, use:#pragma warning restore 1591
Here an example:
Note that pragma directive start at the begin of line
Add XML comments to the publicly visible types and members of course :)
You need these
<summary>
type comments on all members - these also show up in the intellisense popup menu.The reason you get this warning is because you've set your project to output documentation xml file (in the project settings). This is useful for class libraries (.dll assemblies) which means users of your .dll are getting intellisense documentation for your API right there in visual studio.
I recommend you get yourself a copy of the GhostDoc Visual Studio AddIn.. Makes documenting much easier.
You need to add /// Comment for the member for which warning is displayed.
see below code
It displays warning Missing XML comment for publicly visible type or member '.EventLogger()'
I added comment for the member and warning gone.
Insert an XML comment. ;-)
This may appear like a joke at the first glance, but it may actually be useful. For me it turned out to be helpful to think about what methods do even for private methods (unless really trivial, of course).