web-dev-qa-db-ja.com

公開されているタイプまたはメンバーに対するXMLコメントがありません

「一般に公開されている型またはメンバーに対するXMLコメントがありません」という警告が表示されます。

これを解決するには?

346
Nirmal

5つのオプション:

  • ドキュメンテーションコメントを記入してください(すばらしい、しかし時間がかかります)
  • (プロジェクトプロパティで)コメント生成をオフにする
  • プロジェクトプロパティで警告を無効にする([プロジェクトプロパティ]で[プロジェクトプロパティ - >ビルド]> [エラーと警告](セクション)、[警告を非表示](テキストボックス)、1591(カンマ区切りリスト)を追加)
  • コードの一部について警告を無効にするには#pragma warning disable 1591を使用します(あとで#pragma warning restore 1591も)
  • 警告を無視する(悪い考え - 新しい「本当の」警告を見逃すことになるでしょう)
613
Jon Skeet

一般に公開されている型およびメンバーへのXMLコメントの追加:)

///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
   return 42;
}

あなたはすべてのメンバーに対してこれらの<summary>タイプのコメントを必要とします - これらはインテリセンスポップアップメニューにも現れます。

この警告を受け取る理由は、プロジェクトの設定でドキュメントxmlファイルを出力するようにプロジェクトを設定したためです。これは、クラスライブラリ(.dllアセンブリ)に役立ちます。つまり、.dllのユーザーは、ビジュアルスタジオでAPIのインテリセンスドキュメントをすぐに入手できます。

GhostDoc Visual Studioアドインのコピーを自分で入手することをお勧めします。文書化がはるかに簡単になります。

85
Isak Savo

XMLコメントに対する警告を抑制します

(私の作品ではありませんが、私はそれが役に立つと思ったので、私は記事とリンクを含めました)

http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/

ここでは、Visual Studioのビルド後にXMLコメントに対する警告を抑制する方法を説明します。

背景

Visual Studioプロジェクト設定の "XML文書ファイル"マークをチェックした場合は、すべてのXMLコメントを含むXMLファイルが作成されます。さらに、XMLコメントがないか間違っているため、デザイナが生成したファイルでも多くの警告が表示されます。時々警告は私たちのコードを改善し安定させるのを助けますが、何百ものXMLコメント警告を得ることは単なる苦痛です。警告

公開されている型またはメンバーのXMLコメントがありません……のXMLコメントに '…'のparamタグがありますが、その名前のパラメータはありませんパラメータ'…'のXMLコメント内に '…'に対応するparamタグがありません(他のパラメータにはあります)

Visual Studioですべての警告を抑制することができます。

  • Visual Studioプロジェクト/ [プロパティ]/[ビルド]タブを右クリックします。

  • 次の警告番号を "Suppress warnings"に挿入してください。1591,1572,1571,1573,1587,1570

38
Sprotty

XMLコメントを挿入します。 ;-)

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

一見するとこれは冗談のように見えるかもしれませんが、それは実際には役に立ちます。私にとっては、プライベートメソッドに対してもどのようなメソッドが実行されるのかを考えることは有益であることがわかりました(もちろん本当に些細なことを除けば)。

22
Matthias Meid

コードを変更したりプラグマブロックを使用しなくても、これらのメッセージを表示しないようにすることができます。 Visual Studioの使用 - プロジェクトのプロパティ> [ビルド]> [エラーと警告]> [警告を非表示]に移動します - 警告コードのリストに1591を追加します。

enter image description here

17
ekhanna

これは、XMLドキュメントファイルがプロジェクトのプロパティで指定されており、メソッド/クラスが公開されており、ドキュメントが不足しているためです。
次のいずれかを実行できます。

  1. XMLドキュメントを無効にします。

    プロジェクトを右クリック - >プロパティ - > 'ビルド'タブ - > XML Documentation Fileのチェックを外してください。

  2. 自分でドキュメントを書いてください。

XML文書の要約は次のようになります。

/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
12
Ajay Aradhya

私はここにリストされている答えに何かを加えたいと思いました:

Isak氏が指摘したように、XMLドキュメントはVisual Studio内のすべてのコンシューマにインテリセンスを提供するため、クラスライブラリに役立ちます。したがって、簡単で正しい解決策は、トップレベルプロジェクト(UIなど)のドキュメントを単純に無効にすることです。これは、独自のプロジェクトの外部では実装されません。

加えて、私は警告が一般に見えるメンバーにのみ現れることを指摘したいと思いました。したがって、必要なものだけを公開するようにクラスライブラリを設定すれば、privateおよびinternalのメンバをドキュメント化しなくても取得できます。

8
Mike Guthrie

これは本当に古いスレッドですが、Googleでの最初の応答なので、この情報を追加したいと思いました。

この現象は、[プロジェクトのプロパティ] - > [ビルド]で警告レベルが4に設定されている場合にのみ発生します。あなたが本当にそれほど多くの情報を必要としない限り、あなたはそれを3に設定することができ、あなたはこれらの警告を取り除くでしょう。もちろん、警告レベルを変更することは単なるコメント以上のものに影響を与えるので、足りないものがわからない場合はドキュメントを参照してください。
https://msdn.Microsoft.com/ja-jp/library/thxezb7y.aspx

8
Marius Agur

あなたのソリューションでは、XMLドキュメントファイルを生成するオプションをチェックすると、XMLDocを持っているかどうかあなたのパブリックメンバーをチェックし始めます。あなたが本当にあなたのDLLを解放したくない、そしてあなたがそれからドキュメンテーションを必要としないなら、あなたの解決策に行き、セクションを構築し、それをオフにしてください。プロパティとフィールドは、プリコンパイラ命令#pragma warning disable 1591でそれらを上回るだけで、警告を元に戻すこともできます。#pragma warning restore 1591

プラグマの使用法:場所の前のコード内のどこかで...に対するコンパイラの警告が表示される場合(ファイルの場合はヘッダーに配置し、再度有効にする必要はありません。メソッド、または...ラップする必要もなく、呼び出して気軽に復元することができます(ファイルの先頭から開始してメソッド内で終了)。このコードを書く:

#pragma warning disable 1591とそれを復元する必要がある場合は、#pragma warning restore 1591を使用してください

ここに例があります:

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; }
    }
}

そのプラグマディレクティブは行頭から始まります

6
deadManN

Jon Skeetの答えは、VisualStudioを使用して構築しているときに非常に役立ちます。しかし、コマンドラインを使ってslnをビルドしている場合(私の場合はAntを介して)、msbuildはsln抑制要求を無視します。

これをmsbuildのコマンドラインに追加することで問題は解決しました。

/p:NoWarn=1591
2
Bill Tarbell
#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
2
Petar

警告レベルを2に設定すると、このメッセージが表示されなくなります。それがまた有用な警告を抑制するのでそれが最善の解決策であるかどうか知らないでください。

2
danpop

警告が表示されているメンバーに対して///コメントを追加する必要があります。

下記のコードを参照

public EventLogger()
{
    LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}

公開されている型またはメンバー '.EventLogger()'に対して、XMLコメントがありませんという警告が表示されます。

メンバーへのコメントと警告が消えました。

///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
    LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
1
Sujeet Singh

ファイル> 編集> プロジェクトの表示(クリック)

ドロップダウンボウの下部(開く/現在の作業> プロパティをクリック)、「出力」の下の「ビルド」でプロジェクトのプロパティページを開きます。 "チェックを外す" XMLドキュメントチェックボックス。

再構築し、警告はしません。

1
tom