1

最近、慎重に作成した xml コメントが同僚の IntelliSense に表示されないことに少し驚きました。関連するアセンブリを常にプロジェクト参照に使用していたので、この情報にアクセスするには .xml ドキュメントもエクスポートする必要があることに気付きませんでした。

これにより、.Net フレームワークの IntelliSense がどのように機能するのか疑問に思いました。私の理解が正しければ、.xml ファイルは特別なフォルダーのどこかに隠されている必要がありますか?

しかし、私の主な質問は「Goto definition」に関するものです。.Net フレームワーク アセンブリの定義に移動すると、メタデータから生成された情報が得られますが、役立つコメントもたくさんあります。これらは Xml コメントから魔法のように生成されたものですか、それとも誰かビルドのためだけにそれらを変換するには、マクロを作成しますか? 別の言い方をすれば、アセンブリに対してこの効果を得るにはどうすればよいですか?

4

1 に答える 1

1

プロジェクトは XML ドキュメントを生成するように構成されていますか? ソース コードにコメントを追加しただけでは、指示がない限り、コンパイラは .xml ファイルを生成しません。

プロジェクトのプロパティ ページで、[ビルド] タブに移動し、[出力] セクションを確認します。「XML ドキュメント ファイル」というタイトルのチェックボックス エントリが表示されます。そのチェックボックスに続くテキストボックスが空の場合、XML ドキュメント ファイルは生成されていません。

XML ドキュメント ファイルが生成されると、IntelliSense のツールヒントにコメントが表示されます。プロジェクト参照として他のプロジェクトへの参照を含めると、これは自動的に行われます。アセンブリへの参照を含める場合は、xml ファイルが参照先のアセンブリと同じ場所にあることを確認する必要があります。(ビルド時に、bin/debug または bin/release フォルダーにそれぞれ含まれるすべてのアセンブリの xml ファイルを取得する必要があります。)

.NET Framework アセンブリ自体については、対応する xml ドキュメント ファイルが Framework の一部としてインストールされます。.NET 2.0、3.0、または 3.5 の場合、ドキュメント ファイルは次の場所にありC:\Windows\Microsoft.NET\Framework\v2.0.50727\enます (フレームワークがデフォルトでインストールされている場合)。これらのファイルは、この情報を表示するために、Visual Studio の IntelliSense ツールヒントと "定義に移動" 機能の両方で使用されます。これを実現するために行われる特別な処理やマクロの実行はありません。Visual Studio が使用する可能性が最も高い唯一の情報は、ドキュメント ファイルへの正しいパスを決定するためのレジストリ キーの組み合わせです。

独自のアセンブリの xml ドキュメント ファイルを同じフォルダーに配置することもできますが、フレームワークに関連しないファイルでフレームワークのインストールを汚染するため、そうしないことをお勧めします。

于 2008-11-11T16:39:49.423 に答える