C# CHM帮助文档生成工具Sandcastle

为了让我们的开发团队规范文档,并易于交流,最终使用了Sandcastle生成chm格式文档。

一、下载。
我发现有两种Sandcastle可供下载,一个是官方的Sandcastle,另一个是SandcastleGUI(图形界面的)。
前一个是必须安装的,然后再下载个SandcastleGUI,直接使用即可,下载地址为:
Sandcastle: http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en (也可以从codeplex下载)
SandcastleGUI:虽然安装完上面的Sandcastle里已经有一个SandcastleGUI了,但是不如这个SandcastleGUI,这是一个inchl software开发的图形界面Sandcastle,非常好用
                        下载地址是 http://www.inchl.net/SandcastleGUI/ 需要注意的是他不提供直接下载功能,而是通过邮件确认后方可下载。
这里有使用SandcastleGUI生成的文档和软件界面,是不是很漂亮?

二、生成XML文档。
在VS的项目上右键->属性,在弹出的对话框里选择Build,在XML Documentation前打勾。这样,以后编译的程序都会自带一个XML文件了,这就是要生成帮助文档的重要文件。

三、在程序里添加说明。添加方法如下:
namespace DangAnGuanLi.LogSystem
{
/// <summary>
/// Log相关操作集,此Log通过log4net实现。
/// <remarks>类图如下: <br />
/// <img src="LogHelper.png" />
/// </remarks>
/// </summary>
public class LogHelper
{
    /// <summary>
    /// 创建loginfo型的log类型
    /// </summary>
    public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
   
    /// <summary>
    /// 没实现
    /// </summary>
    private static void SystemLog()
    {
    }
    /// <summary>
    /// log4net的初始设置
    /// </summary>
    public static void SetConfig()
    {
        log4net.Config.XmlConfigurator.Configure();
    }

。。。。
其中需要说明的是这部分:
/// <remarks>类图如下: <br />
/// <img src="LogHelper.png" />
/// </remarks>
加入以上部分后可以在生成chm文档时可以加入类图(class diagram)。其中LogHelper.png是通过手动方式导出类图后保存的文件。

四、生成chm文档。
     1、先编译程序,然后从BIN目录中找到生成的.dll和.xml文件(注意:文件名相同。如果没看到.xml文件的话表示第二步没做好,请重新做。)和引用的动态库全部拷贝到单独的文件夹,比如c:\document文件夹。
     2、将SandcastleGUI.exe文件也拷贝到此文件夹下,并运行(运行界面如上图所示)。
     3、此时根据提示添加或选择相关内容即可。
     4、最后点 Start Documenting按钮,等待几分钟后即可看到生成的chm文件。

原文地址:https://www.cnblogs.com/luoyaoquan/p/2047699.html