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

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

由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下。好了,不多废话,下面就来实现一下吧。

生成前的准备

在开始做之前,还是要补充说明一点:我们是通过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中敲“///”就是文档注释)

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

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

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

生成chm文档工具介绍

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

从这里下载工具:

Sandcastle:http://sandcastle.codeplex.com/,点击右侧的download大家都懂的。

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

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

生成chm文档

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

点确定,右侧项目结构:

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

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

 

右击项目选择属性:

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

打开测试文档:

总结

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

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

时间: 2024-10-29 08:20:18

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

asp 读取 utf-8格式文档并生成utf-8格式文档的乱码问题_应用技巧

今天在对搜索吧的程序进行utf-8修正时,发现生成的utf-8格式文档存在着乱码,原来文件 create_html.asp代码如下:  复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%  set objrs=server.createObject("Scripting.FileSystemObject")  conn=server.mappath("exa

asp 读取 utf-8格式文档并生成utf-8格式文档的乱码问题

今天在对搜索吧的程序进行utf-8修正时,发现生成的utf-8格式文档存在着乱码,原来文件 create_html.asp代码如下: 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%  set objrs=server.createObject("Scripting.FileSystemObject")  conn=server.mappath("exam

《编写可维护的JavaScript》——2.4 文档注释

2.4 文档注释 从技术的角度讲,文档注释并不是JavaScript的组成部分,但它们是一种普遍的实践.文档注释有很多种格式,但最流行的一种格式来自于JavaDoc文档格式:多行注释以单斜线加双星号(/**)开始,接下来是描述信息,其中使用@符号来表示一个或多个属性.来看一段来自YUI的源码的例子. /** 返回一个对象,这个对象包含被提供对象的所有属性. 后一个对象的属性会覆盖前一个对象的属性. 传入一个单独的对象,会创建一个它的浅拷贝(shallow copy). 如果需要深拷贝(deep

《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:文件注释、文档注释、代码注释、使用地标注释

原创文章,欢迎转载.转载请注明:关东升的博客   前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/).这里来介绍一下他们的使用规范.  1.文件注释 文件注释就在每一个文件开头添加注释,文件注释通常包括如下信息:版权信息.文件名.所在模块.作者信息.历史版本信息.文件内容和作用等. 下面看一个文件注释的示例: /* Copyright (C) 2015 Eorient Inc. All Rights Reserved. See LICENSE.txt for thi

.Net魔法堂:提取注释生成API文档

一.前言   在多人协作的项目中,除了良好的代码规范外,完整的API文档也相当重要.通过文档我们快速了解系统各模块的实际接口,及其使用场景.使用示例,一定程度上降低沟通成本,和减少后期维护中知识遗失等风险.   对于.Net,我们可以直接将类.方法等的注释直接转为API文档,极大地减少文档维护的工作量,同时也能反向提高大家的注释质量.   下面我们使用.Net唯一的注释生成API文档工具--Sandcastle和Sandcastle Help File Builder来实现API文档自动化吧!

GhostDoc Pro v4.9.14093.Cracked.By.SubMain 一款好用的代码注释生成工具——VS插件

原文:GhostDoc Pro v4.9.14093.Cracked.By.SubMain 一款好用的代码注释生成工具--VS插件 一款比较好用的 VS 插件,能够快速生成注释. 这是 Pro 版本,与标准版本相比,支持对类.文件批量生成注释并且可以生成 CHM 帮助文件. 具体差异请转到: http://submain.com/products/ghostdoc.aspx   简化你的XML注释! GhostDoc是一个Visual Studio扩展,自动生成基于其类型,参数,名称和其他上下文

Database2Sharp重要更新之数据库文档的生成(国庆专辑,祝福我们的祖国)

由于时间和研究方向的关系,虽然我的开发和工作,一直离不开我的代码生成工具,但是近来一直很少对Database2Sharp的功能进行更新了,最近发现我的一位同事在研究数据库文档的生成方面的内容,获得了很好的灵感,发现我的代码生成工具中数据库文档部分应该更新了,同时对整个数据库信息的模型做了一些完善,增加了视图字段信息的检索及显示,存储过程参数列表的获取,引入了Oracle数据库包信息的对象模型.这些内容都直接反映到数据库文档的生成中. 另外结合了上次博客中介绍到了<发布一个实体类属性生成小工具,给

如何在PHP中生成chm文档

一个类和hhc.exe还有hha.dll 用于生成包含html目录的chm项目文件 ,然后通过hhp项目文件和内容文件生成 .chm手册. <?php /* 函数 listDirTree( $dirName = null ) ** 功能 列出目录下所有文件及子目录 ** 参数 $dirName 目录名称 ** 返回 目录结构数组 false为失败 */ function listDir($dirName = null) { if (empty($dirName)) exit("IBFile

word文档怎么生成目录以及怎么微调目录?

  word文档怎么生成目录以及怎么微调目录?你还在手动输入一篇文章的目录吗?还在一页一页的核对目录的页码和正文的页码是否一 一对应吗? 生成目录的前期准备工作 1.首先,看一个word文档,我把需要生成目录的地方用框框标出来,由于图片大致一样,所以只是标记了第一页. 注:文章内容只是演示用,从互联网上收集的,和介绍本经验无关. 2.鼠标左键选中要生成目录的文字内容 3.鼠标右键"段落",做如图红框内的设置,具体大纲级别已你实际需求为准 4.单击"确定",回到正文编