使用Sandcastles在CHM帮助文件中嵌入图像

Joh*_*ith 6 html xml documentation sandcastle chm

我正在使用Sandcastles为我的项目生成CHM帮助文件.我想要一个我可以分发的独立CHM文件,最好是自己分发.

我的问题是嵌入图像似乎图像需要与CHM文件分开存在于用户的系统上.当我查看我的CHM文件的来源时,它看起来像:

<img src="C:\Users\me\Pictures\wave.jpg" />
Run Code Online (Sandbox Code Playgroud)

因此,如果我将我的CHM文件通过电子邮件发送给某人并且他们没有此图像,则会失败.另一种方法是:

<img src="images/wave.jpg" />
Run Code Online (Sandbox Code Playgroud)

并通过电子邮件向此人发送包含我的CHM文件和图像文件夹的ZIP.在我看来,这不是一个非常好的解决方案.

有没有办法在CHM文件中"嵌入"图像?或者有一个干净的解决方案吗?

为了记录,我通过这个XML代码将这个图像包含在我的C#项目中.

/// <summary>
/// Lorem ipsum dolor sit amet, consectetur adipiscing elit.
/// Pellentesque quis tortor sit amet magna posuere sagittis. 
/// Integer aliquet nibh elit, ut porta ex laoreet et
/// </summary>
/// /// <remarks>A picture: <br />
/// <img src "C:\Users\me\Pictures\wave.jpg" />
/// </remarks>
Run Code Online (Sandbox Code Playgroud)

hel*_*.de 9

它只是一个Visual Basic示例,但我认为C#就在附近.我假设您使用sandcastle帮助文件生成器(SHFB).

如果图像未在MAML主题中使用,只需将SHFB项目中的BuildAction设置为Content并将它们放在images文件夹中.它们将自动复制到工作文件夹中并编译到CHM帮助文件中.

将[images]文件夹导入SHFB Project Explorer的步骤,未被MAML主题引用:

  1. 从树上下文菜单中选择Add and Existing Folder ...,选择[images] -Folder
  2. 对于每个图像文件,将BuildAction从Image设置为Content
  3. 在SHFB中,按"构建帮助文件"按钮

构建之后,您有一个包含图像的CHM帮助文件.

我附上了一些Visual Basic项目,SHFB和生成的CHM.

在此输入图像描述

在此输入图像描述

在此输入图像描述