.Netプロジェクト(サンドキャッスル)のネームスペースドキュメント?
-
03-07-2019 - |
質問
Sandcastle を使用して、プロジェクトのドキュメントWebサイトを作成しました。それは非常にうまく機能していますが、プロジェクトのクラス、メソッド、プロパティ(...)のドキュメントのみを常に記述し、プロジェクト全体とプロジェクトパーツ/モジュール/名前空間のドキュメントを完全に分離しました。そのドキュメントを一緒にマージし、生成されたヘルパーファイルにそれぞれのドキュメントを追加できればいいのですが、どうすればよいかわかりません。
名前空間宣言にコメントを追加するだけでは機能しないようです(C#):
/// <summary>
/// My short namespace description
/// </summary>
namespace MyNamespace { ... }
これを行う方法を知っている人はいますか?私はそれがどういうわけか可能であることを知っています、そして、それが本当にうれしいです...:)
解決
Sandcastleはndocスタイルの名前空間ドキュメントもサポートしています。これにより、ソースファイルにドキュメントを貼り付けることができます。
文書化するネームスペースにNamespaceDocという非パブリッククラスを作成するだけで、そのクラスのxml docコメントがネームスペースに使用されます。
[CompilerGenerated]属性で装飾し、クラス自体がドキュメントに表示されないようにします。
例:
namespace Some.Test
{
/// <summary>
/// The <see cref="Some.Test"/> namespace contains classes for ....
/// </summary>
[System.Runtime.CompilerServices.CompilerGenerated]
class NamespaceDoc
{
}
}
SandCastleの作業項目はあります こちら
他のヒント
Sandcastle Help File Builder を使用する場合、名前空間の概要を入力するダイアログがあります。 (どうやら特定のクラスの定義もサポートされているようですが、私はそれを好まないでしょう。)
機能リストから:
プロジェクト概要の定義と 名前空間の概要コメント ヘルプファイルに表示されます。あなたもすることができます どの名前空間を簡単に示すか ヘルプファイルに含めるか除外します。 サポートも含まれています 名前空間のコメントを指定する 各内のNamespaceDocクラス 名前空間。
Sandcastle Help File Builder を使用します。 XMLプロジェクトファイルで名前空間の説明を指定できます
例:
<namespaceSummaryItem name="System" isDocumented="True">
Generic interfaces and helper classes.
</namespaceSummaryItem>
参照:
- オープンソースプロジェクトの例 でドキュメントを生成します すべてのビルド(すべてのスクリプトは トランク)。
- それはどのようにドキュメントによって SHFBはWebのように見えます( 強制ビルドごとにデプロイされます)
。
古い投稿であることは知っていますが、これは他の誰かの助けになるかもしれません。
このリンクに従って、名前空間の説明を必要なく設定できます。非パブリッククラスをプロジェクトに追加する方法。
名前空間の概要を編集するには、SHFBの[プロジェクトプロパティ]タブの[概要]セクションを展開します。 <!> quot; NamespaceSummaries <!> quot;という名前の設定が表示され、最初は値<!> quot;(None)<!> quot;が表示されます。設定をクリックして選択すると、省略記号(...)を示すボタンが表示されます。このボタンをクリックして、下の図の[名前空間の概要]ダイアログボックスを表示します。
そのように参照を追加することはできません-NamespaceDoc.csインスタンスを介して行います
i.e
/// <summary>
/// Concrete implementation of see cref="IInterface" using see cref="Concrete"
/// </summary>
class NamespaceDoc
{
}
<!> quot; External XML Comments Files <!> quot;のドキュメントがあります。次のようなスキーマを表示:
<doc>
<assembly/>
<members>
<member/>
</members>
</doc>
これが別のファイルに配置されている場合、拡張子は(xml / aml)になりますが、Visual Studioプロジェクトで使用できますか?