2009-09-01 7 views
2

私はxml commentsを使用するC#プロジェクトを持っています。私はそれらからSandcastleSandcastle Help File Builder経由でchmファイルを作成します。このプロジェクトのメンバー関数の1つにembedded resourceを使用しています。私はヘルプファイルでそれを参照したいと思います。これはサンドキャッスルがこれをサポートしていないようですが、解析するxmlドキュメントファイルはサポートしています。私はそのコードをコンパイルし、結果のXML文書からCHMをコンパイルした場合、私は、ビルドログに次を得る.net xmldocコメントで埋め込みリソースを参照する適切な方法は何ですか?

/// <summary> 
/// Displays the resource text. 
/// </summary> 
/// <remarks>The file is loaded from the <see cref="Resources.TextFile.txt"/>.</remarks> 
private static void ShowResource() 
{ 
    // Getting text from embedded resource 
} 

ため、次の例でこれを言う:

Warn: CachedResolveReferenceLinksComponent: Unknown reference link target '!:Resources.HelpTextFile.txt'. 

と発言区間れます:

The help file is loaded from the [!:Resources.TextFile.txt]. 

私はReSharperためAgent Smithとして行う場合を示していると<参照/を変更

Warn: CachedResolveReferenceLinksComponent: Unknown reference link target 'P:ProjectName.Properties.Resources.TextFile'. 

そして、CHMの変化の備考セクション:

The help file is loaded from the HelpTextFile(). 

をだから私の質問は2つのパート1です:

  1. ですビルドログは言う<see cref="Resources.TextFile"/>から要素私の<の使用/ >のリソースを参照するのは正しいですか?
  2. 埋め込みリソースを生成するchmファイル内の参照をサンドキャッスルで取得する方法はありますか?

答えて

3

HTMLアンカータグを使用すると、同じ結果が得られます。これは、XMLコメントの<img>タグを使用して画像ファイルを参照するようなものです。

/// The resources are loaded from 
/// <a href="../Resources.TextFile.txt">Resources.TextFile.txt</a>. 

リソースファイルをプロジェクトのコンテンツアイテムとして含めます。上記の例では、ルートフォルダにあると仮定しています。 HTMLファイルは常に./htmlフォルダーにあり、1つ上のレベルに上がる必要があります。ファイルをルートフォルダのサブフォルダに入れた場合は、その名前をhrefターゲットに追加します: "../FolderName/Resources.TextFile.txt"。

Sandcastle Stylesパッチを適用した場合は、<のcref属性の代わりにhref属性を使用できます。>タグを参照してください。ファイルの位置情報は同じになります。

/// The resources are loaded from 
/// <see href="../Resources.TextFile.txt" />. 

エリック

+0

私はこれをチェックします。 –