使用 Sandcastle Help File Builder 制作 VS.NET 的 HELP 文件

以前笔者都是使用 NDoc 在制作 VS.NET 的 HELP 文件,它是相当好用且速度快的 HELP 产生器;不过 NDoc 在 1.3.1 版后,NDoc 的作者 Kevin Downs 就不再进行 NDoc Open Soruce 的开发。笔者之前有自行修改 NDoc 的 Source Code 解决中文乱码的问题,不过后来又遇到泛型类别无法正常产生 HELP 文件的问题,所以就改用微软推出的 SandCastle 配合 Sandcastle Help File Builder 来产生 HELP 文件,本文将介绍使用 Sandcastle Help File Builder 制作 VS.NET 的 HELP 文件。

一、安装 Sandcastle

首先安装微软的 Sandcastle - Documentation Compiler for Managed Class Libraries,你可以由下列网址下载最新版的 Sandcastle 安装程序,目前提供最新的版本为 Sandcastle May 2008 Release (Version 2.4.10520)。

http://www.codeplex.com/Sandcastle

二、安装 Sandcastle Help File Builder

Sandcastle 本身可以使用命令列的方式来制作 HELP 文件,不过这样太麻烦了,所以就需就有了一些具 UI 界面的 Sandcastle 编译工具,例如 SandcastleGUI、DocProject、Sandcastle Help File Builder 等工具,我们选择 Sandcastle Help File Builder 来制作 HELP 文件,它的操作界面与 NDoc 几乎一模一样。你可以由下列网址下载最新版的 Sandcastle 安装程序,目前提供最新的版本为 1.7.0.0。

http://www.codeplex.com/SHFB

三、制作 HELP 文件

step1. 加上程序代码批注

首先在程序代码中加上 VS.NET 标准的程序代码批注。

    ''' <summary>
''' 字串類函式庫。
''' </summary>
Public Class StrFunc
''' <summary>
''' 由字串中尋找關鍵字片段。
''' </summary>
''' <param name="Text">字串。</param>
''' <param name="Keyword">關鍵字。</param>
''' <param name="BLength">包含關鍵字前的字元數。</param>
''' <param name="ALength">包含關鍵字後的字元數。</param>
''' <returns>傳回符合的關鍵字片段的字串集合。</returns>
Public Shared Function FindKeywordParts( _
ByVal Text As String, _
ByVal Keyword As String, _
ByVal BLength As Integer, _
ByVal ALength As Integer _
) As List(Of String)
Dim sPattern As String
Dim oRegEx As Regex
Dim oMatchs As MatchCollection
Dim oMatch As Match
Dim oList As New List(Of String)
'正則式,以關鍵字含前後10個字元為 ".{0,10}}關鍵字.{0,10}"
sPattern = String.Format(".{{0,{1}}}{0}.{{0,{2}}}", Keyword, BLength, ALength)
oRegEx = New Regex(sPattern)
oMatchs = oRegEx.Matches(Text)
For Each oMatch In oMatchs
oList.Add(oMatch.Value)
Next
Return oList
End Function
End Class

step2. 编译产生 XML 文件档案

在项目属性中,切换到「编译」页面,勾选「产生 XML 文件档案」。当编译组件时,在组件输出的同一数据夹中,会同时产生与组件名称相同的 XML 文件档案,此档案中会包含程序代码中的注码。

step3. 使用 Sandcastle Help File Builder 制作 HELP 文件

执行 Sandcastle Help File Builder 程序,按「Add」钮加入要制作 HELP 文件的组件,然后执行菜单「Documentation\Build Project」执行建置 HELP 文件。

Sandcastle Help File Builder 常用的属性说明如下:

.HelpFileFormat: Help 文件格式,可复选 Help1x、Help2x、website 格式。
.HelpTitle: Help 文件抬页。
.HtmlHelpName: 输出 Help 文件档名。
.Language: Help 文件语系。(未提供繁体中文,所以可以使用预设的英文即可)
.PresentationStyle: Help 文件样式,可选用 hana、Prototype、vs2005 择一。
.Dependencies: 若编译 Help 文件有参考的组件无法找到,可使用此属性加入相关参考组件。

制作完成的 *.chm 文件如下所示

制作完成的 web 版 Help 文件如下所示

分类: 常见问题, ASP.NET 基础

SandcastleHelpFileBuilder文档生成相关推荐

  1. 扔掉Swagger,试试这款功能强大,零注解侵入的API接口文档生成工具!

    欢迎关注方志朋的博客,回复"666"获面试宝典 介绍 smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,smart-d ...

  2. 一款零注解侵入的 API 文档生成工具,你用过吗?

    以下文章来源方志朋的博客,回复"666"获面试宝典 介绍 smart-doc是一款同时支持JAVA REST API和Apache Dubbo RPC接口文档生成的工具,smart ...

  3. iOS - appledoc 文档生成

    为什么80%的码农都做不了架构师?>>>    1.安装appledoc git clone git://github.com/tomaz/appledoc.git cd ./app ...

  4. 支持Dubbo接口文档生成的工具!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 肥朝 来源 | https://mp.weix ...

  5. Apiggs —— 非侵入性的 RestDoc 文档生成工具

    程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. Python提出了一个方案,叫docstring,来试图解决这个问题.即编写代码,同时也能写出文档,保持代码和文档的一 ...

  6. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    .NET平台开源项目速览(4).NET文档生成工具ADB及使用 原文:.NET平台开源项目速览(4).NET文档生成工具ADB及使用 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习 ...

  7. 数据库文档生成数据库脚本工具

    数据库文档生成数据库脚本工具,txt->sql word文档: ---------------------------------------------------------- 图一 复制到 ...

  8. 源代码文档生成 Doxygen介绍(转载)

    源代码文档生成 Doxygen介绍(转载) 收藏 Doxygen介绍 一.Doxygen介绍 在项目开发过程中最重要的是如何和团队中其它成员沟通,如何在项目完成后减低维护成本,随着公司的人员流动,怎样 ...

  9. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

最新文章

  1. C#中方法的参数的四种类型(转)
  2. Maple Warrior 个人简历
  3. Swift之Delegate/闭包
  4. 接地气的数据分析入门与进阶
  5. elasticsearch的cross_fields查询
  6. java客户端作为kafka生产者测试
  7. P2313 [HNOI2005]汤姆的游戏
  8. JavaScript杂谈(顺便也当知识积累)
  9. 功能1 -- 顶部导航栏和返回顶部效果
  10. 3.11 同时创建多个工作表的表头 [原创Excel教程]
  11. 几行代码,把你的小电影全部藏好了!
  12. Aras Innovator: AML包
  13. (八)Mybatis当中#{}常用属性的用法
  14. 搜狐财报:年度盈利,长跑依旧
  15. SpringBoot笔记系列:(十)数据持久化Spring Data JPA
  16. MySQL8下载安装卸载教程
  17. VLAN通过多个交换机传输,实现同VLAN互通,不同VLAN不通
  18. 分享一些数据库使用的心得
  19. 读论文Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank
  20. 求一个数所有因子的个数,因子和

热门文章

  1. 15、SQL Server 触发器
  2. 改变未来IT业发展的趋势
  3. 你眼中的未来,是我们回不去的曾经
  4. stm32f407VE+enc28j60+lwip2.0.2
  5. html打开网页过场动画_swf文件用什么打开(swf的文件是一种多媒体文件,统称为Flash动画文件)...
  6. 审查意见通知书如何回复?意见陈述书模板
  7. 〖产品思维训练白宝书 - 产品思维认知篇⑪〗- 学习 产品思维 对我们有哪些好处?
  8. 自身未来的计划及目标
  9. Cuda与cudnn对应关系
  10. h5拼手气红包java_Java模拟微信发红包(普通红包、拼手气红包)