一、软件介绍
      Sandcastle是一个管理类库的文档编译器,是用于编译发布组件(Assembly)信息的一个工具,这个工具通过反射和Xslt技术,可以从dll文件及其xml注释(命令行编译时加/doc参数或vs2005设置项目属性得到)得到一个完整的帮助文档,格式可以是Html或CHM甚至是任何自定义的格式。
  Sandcastle与.NET Framework 2.0和.NET Compact Framework组合使用。Sandcastle支持本地化,并提供一个基本的命令行编译器界面和一个Visual Studio插件。
  Sandcastle中共有三个组件:MrefBuilder、Build Assembler和XslTransform。这些工具使用编译汇编代码时生成的输出结果,包括DLL文件以及XML注释文件。 
  MrefBuilder反射一个项目的汇编代码并生成一个输出文件。MrefBuilder是一个随Sandcastle安装的命令行工具。它生成的输出文件通过XslTransform命令行工具转换成一个叫做reflection.xml的文件。reflection.xml文件包含所有文档数据,但不提供显示细节。 
  MrefBuilder完成工作后,立即由Build Assembler接手处理。Build Assembler可由命令行工具BuildAssembler启动。它利用由MrefBuilder生成的数据(reflection.xml)和任何代码注释(保存在独立的XML文件中),生成按逻辑分组的HTML文件。HTML Help Compiler再利用这些HTML文件生成最终结果。 
  该工具并未限制你一次处理一个汇编。如果你需要处理几个汇编代码,你必须深入了解Sandcastle配置文件。它是一个包含建立帮助文件主题所需步骤的XML文件。
  Sandcastle生成的输出结果具有以下特点: 
Ø         类似于MSDN布局的界面。 
Ø         自动生成索引项、内容项目表、主题块和页面布局,提高一致性和熟悉程度。
Ø         自动生成语法宣称部分。 
Ø         自动生成继承表。 
Ø         代码彩色化。 
Ø         提供多种风格和语言选择,终端用户可从中选择自己最喜欢的形式。 
Ø         输出结果以HTML和CSS形式显示,微软承诺将来提供更多选择。
二、软件使用
  软件的使用方式大致有以下5种:
(1)使用Sandcastle原始的命令行方式
(2)Sandcastle Help File Builder
(3)SandcastleGUI
(4)Sandcastle CHM编译BAT脚本和配置实用工具
(5)DocProject 
 文章以第(2)种为例,介绍Sandcastle的使用
  1、关于生成文档代码注释的规范:
  在源代码文件中,具有规范格式的注释可用于指导工具Sandcastle.msi根据这些注释和它们后面的源代码元素生成 XML。使用这类语法的注释称为文档注释 (documentation comment)。这些注释后面必须紧跟用户定义类型(如类、委托或接口)或者成员(如字段、事件、属性或方法)。XML 生成工具称作文档生成器 (documentation generator)。由文档生成器产生的输出称为文档文件 (documentation file)。文档文件可作为文档查看器 (documentation viewer) 的输入;文档查看器Sandcastle是用于生成类型信息及其关联文档的某种可视化显示的工具。
  新的代码注释规范需要使用以三个斜杠 (///) 开始注释,这些注释后面必须紧跟它们所注释的用户定义类型(如类、委托或接口)或者成员(如字段、事件、属性或方法).对注释解说需要使用有效的xml标记。
部分标记如下: 
   
2、下载并安装
  --- Sandcastle   http://sandcastle.codeplex.com/   //原始
  --- SHFB(Sandcastle Help File Builder)  http://shfb.codeplex.com/  //文章我们要用到的。
 ①如果之前安装过其它版本,请先卸载后再装。
 ②下载完成后解压,我使用的为SHFBGuidedInstaller_1970版本,得到如下
  
 
打开SandcastleInstaller.exe进入安装界面
 
 
安装相当简单,在连网的环境下,需要的组件会自动提示下载安装。测试时,除了MAML Schema IntelliSense 及MAML Snippet Files选择了跳过没有安装以外,其它全根据提示安装上了。(因为不明白那两个东西是做什么的)。
 
安装完成后,便可以在开始菜单中找到,打开程序,如下
 
 
a.打开软件后首先新建解决方案,注意不要建在桌面等位置,否则生成时会报错。
b.解决方案建成后,在Project Explorer 中右击 Documentation Sources 上右击添加需要生成帮助文档的dll文件。图中①处为我添加的需要生成帮助文档的dll文件
c.底下Content Layout1.content为生成的帮助文档的样式,完全可以不要。
d.选择要生成帮助文档的格式,如图中②处,我要生成html格式的帮助文档。
e.其它设置默认即可,过会底下会做介绍。
f.点击③处开始生成,如图
 
g.生成完成后,会看到提示:
Build completed successfully at 09-09-2013 11:47 下午.  Total time: 00:01:11.3906
即可在Sandcastle解决方案目录下看到Help文件夹,即是生成的帮助文件。
 
h.如果不能编译生成CHM文档或者生成CHM时报错,则需要安装HTML Help Workshop(需要用到其中的hhc.exe文件)
 
3、集成到Visual Studio中
  a.回到Sandcastle安装程序目录 ,打开 InstallResources文件夹,看到以下三个文件
双击最下边的vsix文件,反应一会儿会弹出如下错误,即表示安装成功了:
 
b.现在在解决方案中添加项目,如下
c.选择Documentation-->Sandcastle Help File Builder Project-->确定
d.双击Project Properties 可以设置项目的属性
属性个性化定制主要属性有:
   1.生成属性设置,如需要生成什么类型的文档(可选chm、网站站点等)
   2.文档内容属性设置,如对命名空间的解说。(命名空间在C#代码中是不可以有注释的,故在此可以设置,也可以在项目中新建一个类NamespaceDoc.cs其代码为:
 namespace  TestForHelp
{
///<summary>
///These are the namespace comments for New <c>TestForHelp</c>
///</summary>
[System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
classNamespaceDoc
{ }
}
   3.文档文件的属性设置:如页眉、页脚、版权信息。
e.同样,右击 Documentation Sources 上右击添加需要生成帮助文档的dll文件,可一次添加多个
f.在项目名上(如DocumentationHelp)右击,添加--新建项,可指定项目模板
 
g.所有设置完成后,生成项目,即可得到想要的帮助文档,同样保存在项目下Help文件夹下。
h.再次提醒,如果不能编译生成CHM文档或者生成CHM时报错,则需要安装HTML Help Workshop(需要用到其中的hhc.exe文件)
 参考资料:
 3.使用
Sandcastle 生成 chm 帮助文档
 (使用Sandcastle原始的命令行方式)
 4.软件的帮助文档,讲得很全,但全是英文。

Sandcastle帮助文档生成器使用介绍的更多相关文章

  1. MkDocs项目文档生成器

    简介 安装 我的配置 Chocolatey 简介 - Windows的包管理器 官方网址 安装 注意事项 Python 简介 安装 Pip 简介-Python的包管理器 升级 MkDocs的安装 使用 ...

  2. api的mock开源工具;api文档生成器;api的mock工具;阿里系;其他开源

    django-rest-framework,即drf的api文档,包括自带的文档和其他三方文档,比如swagger.DRF Docs等 https://www.django-rest-framewor ...

  3. PHP文档生成器(PHPDoc)的基本用法

    目录 PHP文档生成器(PHPDoc)的基本用法 PHPDoc概述 安装 PHPDoc注释规范 页面级别的注释 代码级别的注释 生成API文档 额外软件 PHP文档生成器(PHPDoc)的基本用法 P ...

  4. python sphinx(文档生成器)入门

    简介 Sphinx 是一个 文档生成器 ,您也可以把它看成一种工具,它可以将一组纯文本源文件转换成各种输出格式,并且自动生成交叉引用.索引等.也就是说,如果您的目录包含一堆 reStructuredT ...

  5. Hi,给他介绍一款markdown的帮助文档生成器

    当今大多数的团队都实现了前.后端分支.前端与后端的沟通都是通过接口来实现的(一般情况下都是webapi接口).这种情况你肯定需要一个接口查询的帮助文档,这个当然用swagger都可以实现.但做为前端开 ...

  6. IE11新文档模式Edge介绍与评估,及在WebBrowser应用中的使用。

    浏览器模式与文档模式概念是怎么来的? 1.浏览器模式与文档模式概念起源 为了解决兼容性的问题,在IE浏览器(IE8, IE9, IE10)中,引入了浏览器模式和文档模式两个概念,浏览网页时可以通过按F ...

  7. api文档生成器apidoc的安装和使用

    在开发接口的过程中,需要向外发布相应的接口文档.开始的时候使用word来写文档,时间长了发现有几个问题. 1. 编写不方便.每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用 ...

  8. rbac介绍、自动生成接口文档、jwt介绍与快速签发认证、jwt定制返回格式

    今日内容概要 RBAC 自动生成接口文档 jwt介绍与快速使用 jwt定制返回格式 jwt源码分析 内容详细 1.RBAC(重要) # RBAC 是基于角色的访问控制(Role-Based Acces ...

  9. ES 文档与索引介绍

    在之前的文章中,介绍了 ES 整体的架构和内容,这篇主要针对 ES 最小的存储单位 - 文档以及由文档组成的索引进行详细介绍. 会涉及到如下的内容: 文档的 CURD 操作. Dynamic Mapp ...

随机推荐

  1. Java语法糖2:自动装箱和自动拆箱

    前言 一开始想学学自动拆箱和自动装箱是被这个名字吸引到,听上去好像很高端的样子,其实自动拆箱.自动装箱是很简单的内容. 自动拆箱和自动装箱 Java为每种基本数据类型都提供了对应的包装器类型.举个例子 ...

  2. 人人都是 DBA(I)SQL Server 体系结构

    在了解 SQL Server 数据库时,可以先从数据库的体系结构来观察.SQL Server 的体系结构中包含 4 个主要组成部分: 协议层(Protocols) 关系引擎(Relational En ...

  3. 每周一书-《Bootstrap基础教程》

    首先说明,本周活动有效时间为8月15日到21日.本周为大家送出的书是有电子工业出版,贺臣/陈鹏编著的<Bootsrap基础教程>,为前端入门必读书籍. 下面是从书中摘录的内容. “ Boo ...

  4. 浅谈Excel开发:三 Excel 对象模型

    前一篇文章介绍了Excel中的菜单系统,在创建完菜单和工具栏之后,就要着手进行功能的开发了.不论您采用何种方式来开发Excel应用程序,了解Excel对象模型尤其重要,这些对象是您与Excel进行交互 ...

  5. [nRF51822] 5、 霸屏了——详解nRF51 SDK中的GPIOTE(从GPIO电平变化到产生中断事件的流程详解)

    :由于在大多数情况下GPIO的状态变化都会触发应用程序执行一些动作.为了方便nRF51官方把该流程封装成了GPIOTE,全称:The GPIO Tasks and Events (GPIOTE) . ...

  6. Canny算子边缘检测(cvCanny)

    Canny是常用的边缘检测方法,其特点是试图将独立边的候选像素拼装成轮廓. John Canny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法. ...

  7. 网络异步编程(C#)团购课

    新生命开发团队大石头讲解网络异步编程(C#) 内容:网络编程基础.IOCP.APM.SAEA 时长:2~3小时 价格:20元,20人及以上成团,http://item.taobao.com/item. ...

  8. 05- Shell脚本学习--函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. 函数定义 Shell 函数的定义格式 ...

  9. [全文检索]Lucene基础入门.

    本打算直接来学习Solr, 现在先把Lucene的只是捋一遍. 本文内容: 1. 搜索引擎的发展史 2. Lucene入门 3. Lucene的API详解 4. 索引调优 5. Lucene搜索结果排 ...

  10. java 类之间的关系

    一.继承 二.实现 三.组合