我正在使用Sandcastles为我的项目生成CHM帮助文件。我想要一个我可以分发的独立CHM文件,最好是自己分发。
我遇到的问题是嵌入图像出现图像需要与CHM文件分开存在于用户系统中。当我查看我的CHM文件的来源时,它看起来像:
<img src="C:\Users\me\Pictures\wave.jpg" />
因此,如果我将我的CHM文件通过电子邮件发送给某人并且他们没有此图像,则会失败。另一种方法是:
<img src="images/wave.jpg" />
并通过电子邮件向此人发送包含我的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>
答案 0 :(得分:8)
它只是一个Visual Basic示例,但我认为C#就在附近。我假设你使用sandcastle帮助文件生成器(SHFB)。
如果图像未在MAML主题中使用,只需将SHFB项目中的BuildAction设置为Content并将它们放在images文件夹中。它们将自动复制到工作文件夹中并编译到CHM帮助文件中。
将[images]文件夹导入SHFB Project Explorer的步骤,未被MAML主题引用:
构建之后,您有一个包含图像的CHM帮助文件。
我附上了一些Visual Basic项目的快照,SHFB和生成的CHM。