我得到这个警告:“缺少公开可见类型或成员的XML注释”。
如何解决这个问题?
我得到这个警告:“缺少公开可见类型或成员的XML注释”。
如何解决这个问题?
当前回答
来自@JonSkeet的答案几乎完成了。如果您想为解决方案中的每个项目禁用它,可以将下面的行添加到.editorconfig文件中。
dotnet_diagnostic.CS1591.severity = none
https://github.com/dotnet/roslyn/issues/41171#issuecomment-577811906
https://learn.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2022
查看文件层次结构和优先级添加文件的位置:
https://learn.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2019#file-hierarchy-and-precedence
其他回答
当然要向公开可见的类型和成员添加XML注释:)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
所有成员都需要这些<summary>类型的注释——这些注释也会显示在智能感知弹出菜单中。
得到此警告的原因是因为您已经将项目设置为输出文档xml文件(在项目设置中)。这对于类库(.dll程序集)很有用,这意味着.dll的用户可以在visual studio中获得API的智能感知文档。
我建议你买一份GhostDoc Visual Studio插件。使记录变得更容易。
5个选项:
Fill in the documentation comments (great, but time-consuming) Turn off the comment generation (in project properties) Disable the warning in project properties (in 'Project properties' go to Project properties -> Build > "Errors and warnings" (section), Suppress Warnings (textbox), add 1591 (comma separated list)). By default it will change Active Configuration, consider to change configuration to All. Use #pragma warning disable 1591 to disable the warning just for some bits of code (and #pragma warning restore 1591 afterwards) Ignore the warnings (bad idea - you'll miss new "real" warnings)
这是因为您的项目属性中指定了一个XML文档文件,而您的方法/类是公共的,缺乏文档。 你可以:
禁用XML文档: 右键单击您的项目->属性->“构建”选项卡->取消选中XML文档文件。 坐下来自己写文档吧!
XML文档的总结如下:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
I know this is a really old thread, but it's the first response on google so I thought I'd add this bit of information: This behavior only occurs when the warning level is set to 4 under "Project Properties" -> "Build". Unless you really need that much information you can set it to 3 and you'll get rid of these warnings. Of course, changing the warning level affects more than just comments, so please refer to the documentation if you're unsure what you'll be missing: https://msdn.microsoft.com/en-us/library/thxezb7y.aspx
在将一个属性附加到一个方法后,我得到了这条消息
[webMethod]
public void DoSomething()
{
}
但正确的做法是:
[webMethod()] // Note the Parentheses
public void DoSomething()
{
}