使用 Sandcastle可以生成MSDN风格的帮助文档,生成的帮助文档既可以是chm文档,也可以是MS Help 2.x帮助文档。

1 下载并安装Sandcastle

Sandcastle下载地址为:http://sandcastle.codeplex.com/

2 下载并安装HTML Help Workshop

HTML Help Workshop可以用来生成chm文件,有的系统可能已经安装了HTML Help Workshop,HTML Help Workshop的默认安装路径为C:\Program Files (x86)\HTML Help Workshop,安装前可先到此目录下进行确认,若已经安装无须再安装。若需要重新安装最好使用默认安装路径。

HTML Help Workshop下载地址为:http://dl.pconline.com.cn/html_2/1/87/id=1917&pn=0.html

3 准备程序集和文档注释文件

Sandcastle生成帮助文档是基于代码编译后生成的程序集和文档注释文件来工作的。要想在代码编译过程中能生成文档注释文件,需要在VS中进行如下配置。

设置工程输出时包含XML文档文件,这样就会生成文档注释文件。

例:新建工程SandcastleExp,仅包含代码文件Student.cs,编译代码,在bin\Debug目录下的生成的SandcastleExp.dll和SandcastleExp.XML文件就是Sandcastle工具所需要的输入内容。

4 使用命令行方式操作Sandcastle生成帮助文档

将步骤3生成的SandcastleExp.dll和SandcastleExp.XML文件拷贝至C:\test文件夹(也可以是其他自建的任意文件夹),再将C:\Program Files (x86)\Sandcastle\Examples\Sandcastle(Sandcastle安装路径)下的批处理文件build_Sandcastle.bat拷贝至此文件夹。

使用cmd打开命令行窗口,进入该目录,输入命令:build_sandcastle.bat vs2005 SandcastleExp chm,回车。

成功执行后,会生成如下所示的chm文件。

 注意:第一次安装Sandcastle后需要重启电脑,否则运行build_sandcastle.bat会出错。因为安装Sandcastle 后会创建一个系统环境变量 DXROOT,不重启电脑,该环境变量不会起作用。

3 使用图形用户界面的方式生成帮助文档

Sandcastle还提供了图形用户界面供用户操作。可执行文件为C:\Program Files (x86)\Sandcastle\Examples\Generic\SandcastleGui.exe。打开程序,并进行相关设置,界面如下。

点击“Build”后,在C:\Program Files (x86)\Sandcastle\Examples\test\vs2005\chm下生成chm帮助文件。

注意:必须使用管理员账户来运行程序。

在Win8环境下,需要修改C:\Program Files (x86)\Sandcastle\Examples\Generic\Generic.targets文件,具体修改内容如下:

    <When Condition="Exists('$(ProgramFiles) (x86)')">

      <PropertyGroup>

        <ToolsPath>$(ProgramFiles(x86)) </ToolsPath>

      </PropertyGroup>

</When>

将其中的“$(ProgramFiles(x86)) ”修改为“$(ProgramFiles) (x86) ”(注意:中间还有空格)否则程序无法生成chm文件。

关于代码注释规范,请自行网补。

转载自:http://blog.csdn.net/yl2isoft/article/details/18454115

使用 Sandcastle 生成代码帮助文档的更多相关文章

  1. C# 自动生成代码API文档

    暂时没学会正规的转载style临时记录一下 NET中的规范标准注释(一) -- XML注释标签讲解 http://www.cnblogs.com/mq0036/p/3544264.html NET中的 ...

  2. phpdocumentor生成代码注释文档(linux)

    1,默认安装lnmp环境(php7),默认pear安装 2,   pear channel-discover pear.phpdoc.org pear install phpdoc/phpDocume ...

  3. Sandcastle Help File Builder 生成NET帮助文档

    Sandcastle是微软提供的一个根据XML注释和DLL文件生成帮助文件的工具,目前是在CodePlex上的一个开源项目,可以去这里下载:Sandcastle Sandcastle生成的输出结果具有 ...

  4. 使用SandCastle创建.Net帮助文档

    使用SandCastle创建.Net帮助文档 引用自:http://www.cnblogs.com/DotNetNuke/archive/2009/04/23/1441899.html Sandcas ...

  5. Swagger+Spring mvc生成Restful接口文档

    简介 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...

  6. GhostDoc:生成.NET API文档的工具 (帮忙文档)

    在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具.   1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...

  7. 使用jsdoc-toolkit来自动生成js api文档

    近来前端组小盆友开发的类库越来越多,很多情况下彼此不知道写了些什么方法,为了更好的合作提高工作效率,找了个比较好的api文档生成方法.使用jsdoc-toolkit来自动生成js api文档. 一.  ...

  8. ASP.NET API Helper Page 创建并生成相关帮助文档

    创建API项目 修改原工程文件,该行为是为了避免和引入第三方API工程文件冲突 修改发布设置 引入需要生成文档的相关文件,将第三方API依赖的相关文件(XML文件非常重要,是注释显示的关键),复制到文 ...

  9. Android开发——使用Jword生成本地word文档

    本文主要介绍如何使用Jword生成本地word文档,这里涉及到Jword的使用技巧,本文给出相应的代码,需要的朋友可以参考下. 为什么使用Jword呢?因为IText .Freemark在安卓平台上压 ...

随机推荐

  1. 谈谈javascript放在哪里更合适

    关于javascript放在哪里更合适 脚本位置:  例如以下代码: <html> <head> <title>Script Example</title&g ...

  2. 这些年正Android - 大学

     还记得,第一次看见小周是在大一的操场上. 她正向教学楼站着,一身白配粉的休闲上衣搭配湖蓝色的牛仔裤,穿着一双很平凡的凉鞋,手里拿着当年的Nokia 3110c,皙清的手指,素颜的站着不言不笑.现在回 ...

  3. sql 用union合并合并查询结果

    合并操作与连接相似,因为他们都是将两个表合并起来的另一个表的方法,然而他们的合并方法有本质的区别, 合并是两个表的相加,连接时时两个表的相乘: 01 在合并中两个表原列的数量与数据类型必须相同:在连接 ...

  4. 《CoffeeScript应用开发》学习:第二章 编写第一个CoffeeScript应用程序

    CoffeeScript基础 语句 CoffeeScript没有分号,语句由新的一行结束,但是可以使用\将语句延续至下一行. 有时可以跨行实现函数调用: "foo". .conca ...

  5. php curl get

    function curlGet($url){ $ch = curl_init(); $header = "Accept-Charset: utf-8"; curl_setopt( ...

  6. Python导入cx_Oracle报错

    系统环境:RHEL5.4   python2.5(手动编译安装,系统带有2.4版本) 在使用python脚本访问数据库时,需要导入cx_Oracle模块 $>>>import cx_ ...

  7. 重走java--Step 2

    java基础语法(一) 1.java基本数据类型 byte:1个字节,8bit有符号数据类型boolean:2个字节,16bit布尔数值char:2个字节,16bit的Unicode字符类型int:4 ...

  8. Redis从基础命令到实战之列表类型(List)

    经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品k ...

  9. lisp中的nil

    ANSI Common Lisp 第二章 课后习题 7.只使用本章所介绍的操作符,定义一个函数,它接受一个列表作为实参,如果有一个元素是列表时,就返回真. (defun have-list (lst) ...

  10. 一步一步学WebSocket(二) 使用SuperWebSocket实现自己的服务端

    上一篇文章,我们了解了客户端如何与服务器创建WebSocket连接.但是一个巴掌拍不响,既然是通信,就必然最少要有两个端.今天我们来看看c#如何用已有的框架实现一个WebSocket服务端. 在.Ne ...