我得到这个警告:“缺少公开可见类型或成员的XML注释”。

如何解决这个问题?


当前回答

文件>编辑>查看项目(点击)

下拉弓的底部(点击打开/当前工作>属性), 打开项目属性页在“构建”下的“输出”。取消选中“XML文档”复选框。

重建,没有警告。

其他回答

插入一个XML注释。: -)

/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
    get;
    set;
}

乍一看,这似乎是个笑话,但实际上可能很有用。对我来说,思考方法对于私有方法的作用是有帮助的(当然,除非非常琐碎)。

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)

Jon Skeet的回答非常适用于使用VisualStudio进行构建。但是,如果您通过命令行构建sln(在我的例子中是通过Ant),那么您可能会发现msbuild忽略sln抑制请求。

添加到msbuild命令行解决了我的问题:

/p:NoWarn=1591
#pragma warning disable 1591
#pragma warning disable 1591
#pragma warning disable 1572
#pragma warning disable 1571
#pragma warning disable 1573
#pragma warning disable 1587
#pragma warning disable 1570

在这里的后面,但是这个线程中的许多解决方案都专注于在项目或类中完全删除警告。

如果你想保留合法的警告,但删除一些-例如,当你使用swagger公开API时,WebApi控制器上的cancellationToken (API用户不需要这个-它是由DI提供的)。

很难看,但至少在这种情况下,取消令牌是最后一个参数。

    /// <summary>
    /// Creates a Service
    /// </summary>
    /// <param name="service">The Service Definition</param> (**note no cancellation token param**)
    /// <returns>A newly created item</returns>
    /// <response code="201">Returns the newly created service</response>
    /// <response code="400">If there are validation errors with the submitted json body</response>
    /// <response code="409">Conflict. The service already exists</response>
    /// <response code="500">Because life is never perfect</response>
    [ProducesResponseType(typeof(Service), 201)]
    [ProducesResponseType(400)]
    [ProducesResponseType(409)]
    [ProducesResponseType(500)]
    [HttpPost]
    public async Task<ActionResult> ServiceCreate([FromBody] ServicePostRequest service,
#pragma warning disable 1573  
        CancellationToken cancellationToken = default) //**note: no warning**
#pragma warning restore 1573
    {