一、工具的准备

目前,一般采用Sandcastle Help File Builder工具来制作.Net程序帮助文档,该工具主要是利用Xml文档里的信息以及DLL文件来生成完整的帮助文档。在Visual Studio中,使用三个/的注释内容才会被写入XML文档里,而两个/的注释是不会被写入的。

1、GhostDoc--VS代码注释插件

VS本身提供了自动生成XML注释的快键方式,比如在成员函数上面敲入///,VS会自动一种注释框架,但是这种注释里是不包含关于成员函数的说明文字,我们需要手动添加这些信息。有没有自动帮我们生成一些基本信息的呢?这个答案是肯定的,GhostDoc就是这么一款能帮助生成简单的说明文字的工具,它还能生成一些参数类型的附加说明。告诉你们一个好消息,GhostDoc是免费的,我们不用99就能将其带回家。

注意:GhostDoc所生成说明信息的准确率,是与我们的函数命名规范性有关,因此根据这准确率,在一定程度上也能反映出我们函数命名是否规范哦,当然我们也可以有自己的风格,不要太拘泥。

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。

必备软件下载地址:

可选

二、 制作帮助文档

具体制作过程,我就不写了,要充分利用已有资源,尽量不要重复做重复的事情,网上有教程已经将其写的很明白了。 还是写一下大致步骤吧。

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程序的帮助文档--总结的更多相关文章

  1. [工具推荐]制作基于Dash的本地文档方便搜索文档api和内容

    [版权声明]:本文章由danvid发布于http://danvid.cnblogs.com/,如需转载或部分使用请注明出处 最近在看es的文档,发现查起api来真的很麻烦,很多现在开源的文档都没有查询 ...

  2. 通过程序校验xml文档学习笔记

    校验xml文档,可以通过程序来校验,利用一段js代码即可. 各行代码的含义已经写出,运行这个html文件,检验如下xml代码: 结果如下: 如果xml文档出现错误: 结果如下: 其中,obj.asyn ...

  3. 如何制作dll库的API文档,自动生成微软风格的chm文件 Sandcastle Help File Builder 使用方法

    当你开发了一个库的时候,就需要给库开发一个api文档,微软提供了一个C#库的自动生成工具.我在使用的过程中记录了相关的信息,以供大家学习和查阅,如有不正之处,欢迎指出. 首先先下载一个软件,下载地址在 ...

  4. 运用Edraw为WPF应用程序嵌入Office文档的方法总结

    具体描述了运用Edraw Office Viewer Component为WPF应用长须嵌入MS Word,Excel以及Power Point的方法. 打开Visual Studio,并创建一个新的 ...

  5. 制作chm格式的帮助文档

    学习java的人都用过jdk帮助文档,借助工具我们也可以自己生成chm格式的帮助文档, 原文:http://www.cnblogs.com/shenliang123/archive/2012/04/2 ...

  6. 应用程序写Xml文档

    主要用到CreateElement.CreateTextNode.CreateComment.AppendChild.InsertAfter方法 代码如下: XmlDocument document ...

  7. .Net程序帮助文档制作

    一,准备工作 1,首先介绍一款VS的代码注释插件GhostDoc 你也许认为我们在代码中敲入///就能自动生成xml注释,但这种注释是没有说明文字的.而GhostDoc可以生成一些简单的说明文字,如果 ...

  8. Dash文档制作教程

    前言 什么是Dash 面向程序员的文档库(Mac) 代码片段管理工具 这是强烈推荐给每天在各种API文档中摸爬滚打的程序员们的神器. 为什么要自己制作文档 官方的源中没有相关文档 文档在离线下体验更好 ...

  9. MFC单文档视图程序简介

    在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的Cframe ...

随机推荐

  1. Jquery Datatables 动态列名

    Datatables中文网:http://dt.thxopen.com/index.html 尝试: <table id="sp_table" class="dis ...

  2. window7电脑设置好了,却无法远程?

    设置远程连接: 步骤:右键[我的电脑]-->[属性] 点击[远程设置],然后设置如下: 在 cmd 中 通过 [ipconfig]命令查看IP: 以上设置好了,发现仍无法远程?解决办法如下: 电 ...

  3. composer 常用命令

    composer list 列出所有可用的命令 composer init 初始化 composer.json文件(就不劳我们自己费力创建啦),会要求输入一些信息来描述我们当前的项目,还会要求输入依赖 ...

  4. 【原创】javascript——prototype与__proto__

    一定要注意这个概念:javascript世界里,万物皆对象, function是对象,prototyp也是对象.   新建构造函数,并实例 var Person = function(){} var ...

  5. 如何在ubuntu下使用stage3d的硬件加速

    最近想尝试一下心动的新游戏深渊,但是由于公司的电脑是ubuntu的,只要进游戏就提示说没有stage3d的硬件加速,于是google了一下,发现这么一篇文章 http://phoronix.com/f ...

  6. Winfrom 如何安全简单的跨线程更新控件

    来源:http://www.cnblogs.com/rainbowzc/archive/2010/09/29/1838788.html 由于多线程可能导致对控件访问的不一致,导致出现问题.C#中默认是 ...

  7. 【转】Android Camera(五)使用Camera功能 AREA的理解

    http://blog.csdn.net/think_soft/article/details/7998478 使用Camera功能 大多数的Camera功能都是使用Camera.Parameters ...

  8. PowerShell常用的.Net 、COM对象(New-Object、Assembly)、加载程序集

    #新建随机数对象实例:$Ran = New-Object System.Random$Ran.NextDouble() 有时候,要使用的实例的类保存在独立的库文件中,PowerShell默认未加载,会 ...

  9. 一次向svn中增加所有新增文件 svn add all new files

    svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add

  10. Java基础知识强化之IO流笔记28:BufferedOutputStream / BufferedInputStream(字节缓冲区流) 之BufferedOutputStream写出数据

    1. BufferedOutputStream / BufferedInputStream(字节缓冲区流)的概述 通过定义数组的方式确实比以前一次读取一个字节的方式快很多,所以,看来有一个缓冲区还是非 ...