将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/fzrain/p/3604550.html
将C#文档注释生成.chm帮助文档的更多相关文章
- 工具分享——将C#文档注释生成.chm帮助文档
由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...
- 将C#文档注释生成.chm帮助文档(转)
由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下.好了,不多废话,下面就来实现一下吧. 生成前的准 ...
- javadoc 工具生成开发API文档
=====================先来一点成就感===================== package com.springMybatis.dao; import com.springMy ...
- 使用 Sandcastle 生成代码帮助文档
使用 Sandcastle可以生成MSDN风格的帮助文档,生成的帮助文档既可以是chm文档,也可以是MS Help 2.x帮助文档. 1 下载并安装Sandcastle Sandcastle下载地址为 ...
- 代码文档生成工具-Doxygen生成CHM和RTF图文教程
Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,可以从一套归档源文件开始,生成chm格式的文档.本文主要讲解如何在winddows下安装doxygen. 1.下载do ...
- Java:API文档;文档注释中的javadoc标记;官方API;自己动手给项目建一个API文档
1.什么是API文档 在Java语言中有3种注释 //单行注释 /* 多行注释 */ /** * 文档注释 */ API(应用程序接口)文档就是用javadoc命令提取文档注释生成的,html格式,用 ...
- Effective Java 第三版——56. 为所有已公开的API元素编写文档注释
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- 《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:文件注释、文档注释、代码注释、使用地标注释
原创文章,欢迎转载.转载请注明:关东升的博客 前面说到Swift注释的语法有两种:单行注释(//)和多行注释(/*...*/).这里来介绍一下他们的使用规范. 1.文件注释 文件注释就在每一个文件开头 ...
- Java 基础入门随笔(9) JavaSE版——文档注释
上节中写了一些static变量以及静态的方法的定义使用以及与非静态的差别,这节补充下: 如果在一个类中所有方法都为静态的,且无成员变量,这时候需要对对应的类进行限制该类无法创建对象,具体操作如下: p ...
随机推荐
- [WPF系列] window自定义
效果图: 源码下载 SourceCode 参考 Disabling or hiding the minimize, maximize or close button of a WPF ...
- 基于.net开发chrome核心浏览器【七】
这是一个系列的文章,前面六篇文章的地址如下: 基于.net开发chrome核心浏览器[六] 基于.net开发chrome核心浏览器[五] 基于.net开发chrome核心浏览器[四] 基于.net开发 ...
- AWS S3 CLI的权限bug
使用AWS CLI在S3上创建了一个bucket,上传文件的时候报以下错误: A client error (AccessDenied) occurred when calling the Creat ...
- codevs2178 表达式运算Cuties[笛卡尔树]
2178 表达式运算Cuties 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 给出一个表达 ...
- jenkins,jmeter,ant持续集成
1.安装 jenkins, jmeter, ant 2.将 jmeter下extras中的 ant-jmeter-1.1.1.jar拷贝到ant的lib下面 3.将 jmeter下collapse ...
- [No00007B]DreamweaverCC 的CSS代码格式化
Dreamweaver自带的代码格式化功能. 1.步骤:命令 -> 应用源格式. 2.你可以选择你的偏好.特别是css代码,有些人喜欢每个属性单独一行,有些人喜欢把所有属性写在同一行.步骤:编辑 ...
- 各国货币M2增长对比
自2006至2016年的10年间, 卢布M2增长了3.8倍, 人民币M2增长了3.4倍, 美元M2增长1倍, 欧元/英镑M2增长0.8倍, 日元M2增长0.5倍
- HTML5入门(CSS样式-------------------(CSS基础知识点----------------------------))
CSS继承性+层叠性+盒子+浮动 一.CSS继承性 eg: <style> div{ ...
- MySQL常用数据库小结
SQL分类: DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRAN ...
- visualstudio 2013 mysql entityframeword :实体模型无法添加,闪退
发现电脑中安装的mysql-connector-net,版本为6.9.8 1.卸载此版本 2.重新安装mysql-connector-net 6.8.3 3.注意web.config中版本 4.注意项 ...