我有一个使用xml comments的C#项目。我使用Sandcastle通过Sandcastle Help File Builder从他们那里制作chm文件。该项目中的一个成员函数使用embedded resource。我想在帮助文件中引用它。似乎sandcastle不支持这个,但它解析的xml文档文件。我这样说是因为以下例子
/// <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
}
如果我编译该代码并从生成的xml文档中编译chm,我会在构建日志中获得以下内容:
Warn: CachedResolveReferenceLinksComponent: Unknown reference link target '!:Resources.HelpTextFile.txt'.
备注部分是:
The help file is loaded from the [!:Resources.TextFile.txt].
如果Agent Smith为ReSharper建议并将&lt; see /&gt; 元素更改为<see cref="Resources.TextFile"/>
,则构建日志会显示:
Warn: CachedResolveReferenceLinksComponent: Unknown reference link target 'P:ProjectName.Properties.Resources.TextFile'.
chm的备注部分变为:
The help file is loaded from the HelpTextFile().
所以我的问题是两部分:
答案 0 :(得分:3)
您可以使用HTML锚标记来获得相同的结果。这就像使用&lt; img&gt;引用图像文件一样标记在XML注释中。
/// The resources are loaded from
/// <a href="../Resources.TextFile.txt">Resources.TextFile.txt</a>.
将资源文件包含为项目中的内容项。上面的例子假设它在根文件夹中。 HTML文件始终位于./html文件夹中,因此需要上升一级。如果将文件放在根文件夹下的子文件夹中,请将其名称添加到href目标:“../ FolderName / Resources.TextFile.txt”。
如果您已应用Sandcastle样式补丁,则可以在&lt; see&gt;上使用href属性而不是cref属性。标签。文件位置信息将是相同的。
/// The resources are loaded from
/// <see href="../Resources.TextFile.txt" />.
埃里克