惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
C
Check Point Blog
有赞技术团队
有赞技术团队
H
Help Net Security
V
Vulnerabilities – Threatpost
N
News | PayPal Newsroom
Hacker News - Newest:
Hacker News - Newest: "LLM"
L
LINUX DO - 最新话题
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】
爱范儿
爱范儿
I
InfoQ
V
Visual Studio Blog
O
OpenAI News
Google DeepMind News
Google DeepMind News
S
Security Affairs
T
Troy Hunt's Blog
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
N
Netflix TechBlog - Medium
Latest news
Latest news
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Webroot Blog
Webroot Blog
S
Schneier on Security
MongoDB | Blog
MongoDB | Blog
T
Tor Project blog
V2EX - 技术
V2EX - 技术
Security Latest
Security Latest
Cloudbric
Cloudbric
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
S
Securelist
C
Cisco Blogs
博客园_首页
TaoSecurity Blog
TaoSecurity Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threat Research - Cisco Blogs
阮一峰的网络日志
阮一峰的网络日志
S
Secure Thoughts

博客园 - jeff377

[ASP.NET 控件实作 Day31] TBContextMenu 控件三种不同模式的 Click 动作 [ASP.NET 控件实作 Day30] 整合 jQuery ContextMenu plugin 的右键选单控件 [ASP.NET 控件实作 Day29] 解决 DropDownList 成员 Value 值相同产生的问题 [ASP.NET 控件实作 Day28] 图形验证码控件 [ASP.NET 控件实作 Day27] 控件依 FormView CurrentMode 自行设定状态 [ASP.NET 控件实作 Day26] 让你的 GridView 与众不同 [ASP.NET 控件实作 Day25] 自订 GridView 字段 - 日期字段 [ASP.NET 控件实作 Day24] TBDropDownField 的 Items 属性的数据系结 [ASP.NET 控件实作 Day23] 自订 GridVie 字段类别 - 实作 TBDropDownField 字段类别 [ASP.NET 控件实作 Day22] 让 DropDownList 不再因项目清单不存在而造成错误 [ASP.NET 控件实作 Day21] 实作控件智能卷标 [ASP.NET 控件实作 Day20] 侦错设计阶段的程序代码 [ASP.NET 控件实作 Day19] 控件设计阶段的外观 [ASP.NET 控件实作 Day18] 修改集合属性编辑器 [ASP.NET 控件实作 Day17] 集合属性包含不同型别的成员 [ASP.NET 控件实作 Day16] 继承 WebControl 实作 Toolbar 控件 [ASP.NET 控件实作 Day15] 复合控件隐藏的问题 [ASP.NET 控件实作 Day14] 继承 CompositeControl 实作 Toolbar 控件 [ASP.NET 控件实作 Day13] Flash 控件
使用 Sandcastle Help File Builder 制作 VS.NET 的 HELP 文件
jeff377 · 2008-11-15 · via 博客园 - jeff377

以前笔者都是使用 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 编译工具,例如 SandcastleGUIDocProjectSandcastle 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 文件档案,此档案中会包含程序代码中的注码。

image

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

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

image

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

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

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

image

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

image