制作Net程序的帮助文档--总结
一、工具的准备
目前,一般采用Sandcastle Help File Builder工具来制作.Net程序帮助文档,该工具主要是利用Xml文档里的信息以及DLL文件来生成完整的帮助文档。在Visual Studio中,使用三个/的注释内容才会被写入XML文档里,而两个/的注释是不会被写入的。
- 建议了解一下:XML注释标签讲解
1、GhostDoc--VS代码注释插件
VS本身提供了自动生成XML注释的快键方式,比如在成员函数上面敲入///,VS会自动一种注释框架,但是这种注释里是不包含关于成员函数的说明文字,我们需要手动添加这些信息。有没有自动帮我们生成一些基本信息的呢?这个答案是肯定的,GhostDoc就是这么一款能帮助生成简单的说明文字的工具,它还能生成一些参数类型的附加说明。告诉你们一个好消息,GhostDoc是免费的,我们不用99就能将其带回家。
注意:GhostDoc所生成说明信息的准确率,是与我们的函数命名规范性有关,因此根据这准确率,在一定程度上也能反映出我们函数命名是否规范哦,当然我们也可以有自己的风格,不要太拘泥。
- GhostDoc的使用http://www.cnblogs.com/zpq521/archive/2011/02/21/1959389.html
- GhostDoc下载地址:http://submain.com/products/ghostdoc.aspx
2、Sandcastle Help File Builder --文档生成工具
主角终于上场了,Sandcastle Help File Builder 的前身是微软的Sandcastle,Sandcastle之前被认为是NDoc的继承者,由于各种原因,Sandcastle现在已经停止维护了,取而代之的是Sandcastle Help File Builder ,它是由另外一位牛人在维护。
Sandcastle是通过提取dll文件及其xml注释文件来生成完整的帮助文档,同时还支持多种生成格式(Helpe1x:chm, Helper2x:Hxs, Website,HelperView),结合新发布的Sandcastle Help File Builder可视化工具,整个生成过程十分简单,而且SHFB工具看起来很强大,不仅能够直接配置生成文档的各个属性,而且还支持很灵活的扩展设置,为我们提供完美的.NET类库文档成为一个可能。
如果想使用Sandcastle Help File Builder工具,我们还必须安装Sandcastle、Microsoft HTML Help。
必备软件下载地址:
- Sandcastle:http://www.codeplex.com/Sandcastle
- Sandcastle Help File Builder:http://shfb.codeplex.com/
- Microsoft HTML Help:http://msdn.microsoft.com/en-us/library/ms669985(VS.85).aspx
可选
- SandcastleGUI:http://www.inchl.nl/SandcastleGUI/ (之前一直使用的另外一个Sandcastle生成工具)
- 用Sandcastle和Help Integration Wizard把文档集成到Visual Studio
二、 制作帮助文档
具体制作过程,我就不写了,要充分利用已有资源,尽量不要重复做重复的事情,网上有教程已经将其写的很明白了。 还是写一下大致步骤吧。
1、打开Sandcastle Help File Builder 新建项目
2、为项目添加材料
选中Documentation Sources右键选择“Add Documentation Source…”,一般选择添加工程文件(.csproj),即可。
3、设置主要的属性
一般是设置Build和Help File。
- Build主要是检查.NET框架版本,如果与开发不配套时,需要修改。
- Help File才是我们需要设置的重点,比如文档名,文档语言,版权等。
4、生成文档
当需要的属性设置完后,点击Build按钮,就会自动帮我们生成chm文档。
如果生成失败的话,最好看看Build Output中的提示信息,查找是哪些原因导致chm文档生成失败。
具体的详情请见:
说明一些注意事项。
事项一:
如果是C#的工程,需要把工程的属性-->生成-->Xml文档文件选中。如果是其他工程的话,只要属性里面包含Xml Document Fiel,我们就勾选上。如下图:
事项二:
如果生成的chm文件内容不显示,如下图
我这里出现这种情况主要是chm文件的路径中包含有“#”特殊字符所造成的,注意当chm文件的路径中含有“#”“%”等字符时,chm文件能够打开,但将无法显示。
此方法参照:chm电子书显示“此程序无法显示网页”的完美解决办法
制作Net程序的帮助文档--总结的更多相关文章
- [工具推荐]制作基于Dash的本地文档方便搜索文档api和内容
[版权声明]:本文章由danvid发布于http://danvid.cnblogs.com/,如需转载或部分使用请注明出处 最近在看es的文档,发现查起api来真的很麻烦,很多现在开源的文档都没有查询 ...
- 通过程序校验xml文档学习笔记
校验xml文档,可以通过程序来校验,利用一段js代码即可. 各行代码的含义已经写出,运行这个html文件,检验如下xml代码: 结果如下: 如果xml文档出现错误: 结果如下: 其中,obj.asyn ...
- 如何制作dll库的API文档,自动生成微软风格的chm文件 Sandcastle Help File Builder 使用方法
当你开发了一个库的时候,就需要给库开发一个api文档,微软提供了一个C#库的自动生成工具.我在使用的过程中记录了相关的信息,以供大家学习和查阅,如有不正之处,欢迎指出. 首先先下载一个软件,下载地址在 ...
- 运用Edraw为WPF应用程序嵌入Office文档的方法总结
具体描述了运用Edraw Office Viewer Component为WPF应用长须嵌入MS Word,Excel以及Power Point的方法. 打开Visual Studio,并创建一个新的 ...
- 制作chm格式的帮助文档
学习java的人都用过jdk帮助文档,借助工具我们也可以自己生成chm格式的帮助文档, 原文:http://www.cnblogs.com/shenliang123/archive/2012/04/2 ...
- 应用程序写Xml文档
主要用到CreateElement.CreateTextNode.CreateComment.AppendChild.InsertAfter方法 代码如下: XmlDocument document ...
- .Net程序帮助文档制作
一,准备工作 1,首先介绍一款VS的代码注释插件GhostDoc 你也许认为我们在代码中敲入///就能自动生成xml注释,但这种注释是没有说明文字的.而GhostDoc可以生成一些简单的说明文字,如果 ...
- Dash文档制作教程
前言 什么是Dash 面向程序员的文档库(Mac) 代码片段管理工具 这是强烈推荐给每天在各种API文档中摸爬滚打的程序员们的神器. 为什么要自己制作文档 官方的源中没有相关文档 文档在离线下体验更好 ...
- MFC单文档视图程序简介
在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的Cframe ...
随机推荐
- 洛谷1440 求m区间内的最小值
洛谷1440 求m区间内的最小值 本题地址:http://www.luogu.org/problem/show?pid=1440 题目描述 一个含有n项的数列(n<=2000000),求出每一项 ...
- HW4.18
public class Solution { public static void main(String[] args) { System.out.println("Graph 1&qu ...
- hdoj 1873 看病要排队【优先队列】
看病要排队 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- indexOf()不区分大小写用法
str.toLowerCase().indexOf(str.toLowerCase())>=0; 对字符串进行统一小写转换. indexOf()查找到返回索引值大于=0; 未找到,返回-1; i ...
- SQLServer加入域后无法远程连接
如果您更改的SQLServer的远程连接端口(默认1433),加入域后,防火墙会把自定义规则都禁用掉 所以,你得进防火墙,查看,是否防火墙关闭了,我的就是关闭了,找了半天原因
- Java集合类详解
集合类说明及区别Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap ...
- CAS协议 - CAS URIs
http://desert3.iteye.com/blog/1703449 2.CAS URIs: CAS是一个基于HTTP的协议,这就要求其每一个组成部分可以通过特定的URIs访问到.所有相关的U ...
- Android开发:Handler Runnable和Thread之间的区别和联系 应用--------------------看完本篇,从此一览无余!
http://blog.csdn.net/yanzi1225627/article/details/8582081 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnab ...
- console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印
console.debug()浏览器控制台打印输出 仅仅在支持console的浏览器下打印 var util = {}; /** * 工具类 */ util = new function() { /* ...
- [Labview资料] labview事件结构学习
编程的主要目的是为了实现用户的某种功能,用户通过用鼠标.键盘.程序内部等触发某种程序动作,从而达到某种结果,这些操作都被称作为事件,LabVIEW中相应这些事件最常用的结构就是“事件结构”.事件结 ...