工具分享——将C#文档注释生成.chm帮助文档

因为最近须要把之前的一个项目写一个文档,但一时又不知道写成怎样的,又刚好发现了能够生成chm的工具,因而乎我就研究了下,感受还不错,因此也给你们分享下。好了,很少废话,下面就来实现一下吧。html

生成前的准备

在开始作以前,仍是要补充说明一点:咱们是经过C#文档注释生成的XML文件来生成帮助文档的。所以,第一步就是生成XML文档:工具

具体步骤:打开VS->随意建立一个项目(这里我用的是控制台项目),而后添加以下内容:测试

/// <summary>
   /// 人类
   /// </summary>
   public  class Person
    {
       /// <summary>
       /// 姓名
       /// </summary>
        public string  Name { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }
        /// <summary>
        /// 自我介绍
        /// </summary>
        /// <param name="name">姓名</param>
        /// <param name="age">年龄</param>
        /// <returns>自我介绍的内容</returns>
        public string Say(string name,string age )
        {
            return "My name is" + name + ",Age:" + age;
        }
    }

很普通的一个类,可是要注意下注释部分,这里的注释是文档(不一样于”//”的注释,在VS中敲“///”就是文档注释)ui

PS:注意,我这里Person类的访问修饰符是public,因为我这里只用了一个类,若是不加public就会出现“No APIs found to document. See error topic in help file for details.”的错误。spa

继续以前的操做:右击程序集选择属性,选中XML文档文件:插件

QQ截图20140316161858

保存,编译,而后在项目的bin\Debug目录下你就会看到生成的xml文件:3d

image

生成chm文档工具介绍

Sandcastle是微软官方的文档生成工具,NDoc开发中止后,这个貌似也是惟一的一个这方面的工具。它从dll文件及其xml注释文件可以生成完整的帮助文档,支持多种生成格式(Helpe1x:chm, Helper2x:Hxs, Website,HelperView),结合新发布的Sandcastle Help File Builder可视化工具,整个生成过程十分简单,并且SHFB工具看起来很强大,不只可以直接配置生成文档的各个属性,并且还支持很灵活的扩展设置,为咱们提供完美的.NET类库文档成为一个可能。code

从这里下载工具:xml

Sandcastle:http://sandcastle.codeplex.com/,点击右侧的download你们都懂的。htm

Sandcastle Help File Builder:http://shfb.codeplex.com/

在SHFB的压缩包里我发现了一个VS插件,所以接下来我就打算用VS来演示,若是不想装这个插件的话,能够运行C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderGUI.exe这个程序,结果都是同样的

生成chm文档

重头戏来了,打开VS,新建项目:

image

点肯定,右侧项目结构:

image

选择ContentLayout.content,看左边,这里有一些文档属性以及版本号等信息,可是咱们这里用不到,所以删掉。若是留着也没事,就是在生成文档的时候头部多了几行而已,有兴趣的朋友能够继续研究。

image

选择要生成文档的程序集(对应的XML会自动添加),

image

 

右击项目选择属性:

QQ截图20140316165603

到这里为止可谓是万事俱备,只欠东风。那么,东风在哪里呢?很简单,生成项目。若是在生成的过程当中没有错误的话,那么在项目目录的Help文件夹下你就会看到:

image

打开测试文档:

image

总结

貌似没什么好总结的。。。。

参考资料:http://www.cnblogs.com/lonely7345/archive/2010/01/13/1647245.html

相关文章
相关标签/搜索