45

Noda Timeには、出荷するXMLドキュメントファイルにすべての内部メンバーとプライベートメンバーも含まれているという問題があります。これは残念です。

幸い、Sandcastle Help File Builderには、カスタムビルドコンポーネントがあります---IntelliSenseComponent理論的には正確に正しいことを行います。残念ながら、私はそれを適切に構成する方法を地球上で理解することができません。

ドキュメントはこの例を示しています:

 <output includeNamespaces="false" namespacesFile="Namespaces"
   folder="{@OutputFolder}" />

および状態:

上記の例は、Sandcastle HelpFileBuilderの構成ファイルから抜粋したものです。置換タグ{@SHFBFolder}および{@OutputFolder}を使用すると、ヘルプファイルビルダーのフォルダーとプロジェクトの出力フォルダーがファイルパスに挿入されます。これらは、ビルド時に適切な値に置き換えられます。独自のビルドスクリプトでコンポーネントを使用する場合は、タグをコンポーネントアセンブリと出力フォルダーへの相対パスまたは絶対パスにそれぞれ置き換えます。

ええと、私SHFBを使用しているので、それが機能することを期待しています。しかし、私は絶対的な道以外のものを得ることができません。私はもう試した:

folder="."
folder="{@OutputFolder}"
folder="{@OutputFolder}XYZZY"
folder="{@OutputFolder}\XYZZY"
folder="{@OutputFolder}/XYZZY"
folder="{@OutputFolder}/XYZZY/"

(検索しやすいものとしてXYZZYを使用しています。)

ソースコードを見て、環境変数を使用できることを望んでいましたが、これは機能しませんでした。

folder="%CD%\XYZZY"

これはしましたが...

folder="%USERPROFILE%\XYZZY"

これは機能します:

folder="c:\users\jon\test\xyzzy"

...しかし、絶対パス名は必要ありません。

ドキュメントは、これらすべてが本当に簡単であるべきだと示唆しています...私は何が欠けていますか?

関連するバージョン:

  • SHFB:1.9.3.0
  • サンドキャッスル:2.6.10621.1
4

1 に答える 1

44

私の実験では、SHFBのIntelliSenseComponent{@OutputFolder}正しく処理されたことが示されましたが、微妙な違いがあります。

folderで指定された属性の場合

<output includeNamespaces="false" namespacesFile="Namespaces"
        folder="..." />

プロジェクトのフォルダーOutputPathのフォルダー(.\docs\apiこの場合)を指すと、SHFBのビルドプロセスでフォルダーが作成されますが、Webサイトのコンテンツを生成する前に削除されます。

Last step completed in 00:00:34.5875
-------------------------------
Combining conceptual and API intermediate TOC files...

Clearing any prior web output
    Last step completed in 00:00:00.2360
-------------------------------
Extracting HTML info for HTML Help 1 and/or website...

問題は、のデフォルト値がの値{@OutputFolder}とまったく同じであるということです$(OutputPath)。したがって{@OutputFolder}\foo、属性にのようなものを入力すると、ビルドが終了した後folderは表示されません。foo

解決策は簡単です。次のように、プロジェクトの出力フォルダーの外側にあるフォルダーを指定します。

<output includeNamespaces="false" namespacesFile="Namespaces"
        folder="{@OutputFolder}\..\distilledApi" />
<!--                            ^^       -->

お役に立てれば。

于 2012-02-17T13:26:51.957 に答える