制作API离线chm帮助文件教程

当我们开发好一个通信库的时候,我们希望给这个通信库配备一个帮助文档,最好的方式,就是有一个离线的chm版本的API文档,这样别人在使用的时候,就可以清楚看到命名空间、类的结构,同时也能看到每个方法和属性的结构。
刚好最近在制作xktComm通信库的API帮助文档,借此机会,跟大家介绍一下如何制作API文档。
1、首先要将制作的dll写好注释,在类库项目属性中,勾选XML文档文件,这样就会生成该dll对应的说明文档xml文件。

2、然后需要下载一个软件SHFB,下载地址在github上:https://github.com/EWSoftware/SHFB/releases

选择最新版下载即可。
如果github访问不了,可以通过公众号【dotNet工控上位机】获取,回复关键词:API制作套装
获取到的SHFB软件目录如下所示:

3、打开InstallResources文件夹,找到SandcastleHelpFileBuilder.msi,双击安装,安装过程很简单,一路Next即可。

4、安装完成后,在跳到InstallResources文件夹同级目录,找到SandcastleInstaller.exe,双击安装。

5、安装过程会弹出两次下图的提示框,点击是,继续到下一步。

6、安装完成后,在开始菜单中的最近添加中,找到Sandcastle Help File Builder GUI,点击打开。

7、打开之后,如果出现下面的错误提示,说明需要安装一个插件——BuildTools,获取方式,在前面获取的API制作套装中,有一个名称为BuildTools_Full.exe的程序,双击安装,如果没有错误,这一步跳过即可。

8、成功打开后,新建一个项目,名称自己定义,添加第一步中准备好的dll及其对应的xml文档。
9、然后通过左侧的向导进行一些相关的设置,首先是Build页面,主要设置文档生成类型、语言及框架版本。

10、切换到第二栏Help File,设置相关的Title、版本号及相关版权信息。

11、点击Documentation下的Build Project按钮,生成项目。
12、如果出现下图错误,错误代码BE0037,需要安装一个插件——htmlhelp,对应的安装包已经放到API制作套装中,获取方式,公众号后台回复:API制作套装。

13、安装完成后,重新Build Project,如果仍然出现错误,错误代码BE0065,需要再安装一个插件——vs_buildtools,对应的安装包已经放到API制作套装中,获取方式,公众号后台回复:API制作套装。

14、不出意外的话,应该可以生成,生成结果如下:

15、这样我们就生成了一个API的帮助文档,我们可以对照Log,看看有哪些警告,因为可能有一些地方我们的注释并不完整。
16、有个地方值得注意,当我们将所有的方法和类都添加注释后,我们生成的时候,可能还会有警告,大致意思是命名空间并没有注释,命名空间的注释在代码里是添加不了的,需要在Sandcastle Help File Builder GUI软件中添加,点击左侧导航栏的Summaries,点击Edit Namespace Summaries,进入界面后,通过点击选择命名空间,右击一下,就可以输入所选命名空间的注释说明,全部输入完成后,点击Close即可。

16、下面是最终生成的chm帮助文档。【图片有误,后台回复API,查看完整版】

制作API离线chm帮助文件教程的更多相关文章
- Arcgis api 离线部署
Arcgis api 离线部署 修改 文件一(init.js)位置:arcgis_js_v317_api\arcgis_js_api\library\3.17\3.17\init.js 将[HOSTN ...
- Struts2 API的chm格式帮助文档制作教程
Struts2 API的chm格式帮助文档制作教程 在SSH三个框架中,Struts2的API文档是最难做的,这里所说的格式是chm格式的,chm的格式很方便,Hibernate API文档和Spri ...
- 通过 File API 使用 JavaScript 读取文件
原文地址:http://www.html5rocks.com/zh/tutorials/file/dndfiles/ 简介 HTML5 终于为我们提供了一种通过 File API 规范与本地文件交互的 ...
- Easy CHM使用简明教程
近日整理硬盘,发现下载有许多DOC.JPEG.HTML等 格式的学习资料,也包括一些电子书资料:而其中的DOC.HTML等资料在学习浏览时显得很不方便,不同格式的文件需要使用不同的打开方式.近而发现电 ...
- 01 选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”,点击Archive...选择离线的ADT文件,contact all update ....千万不要勾选点击Add按钮,在对话框的name一栏输入“ADT”,点击Archive...选择离线的ADT文件,contact all update ....千万不要勾
引言 好久没碰过android,今天重新搭建了一次环境,遇到的问题记录下载.共以后使用. 安装 软件的软件有jdk+eclipse+adt+sdk 主要记录安装adt和sdk的过程,注意,adt和sd ...
- 史上最全的maven pom.xml文件教程详解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 纯windows下制作变色龙引导安装U盘教程
原创教程:纯windows下制作变色龙引导安装U盘教程 支持Mavericks和Yosemite 支持白苹果 目标:windows下制作带 Chamelon变色龙引导的黑苹果安装U盘,支持PC机引导安 ...
- JAVA JDK 1.6 API中文版.CHM打开chm提示,“ 已取消到该网页的导航”
JAVA JDK 1.6 API中文版.CHM打开chm提示,“ 已取消到该网页的导航” silent fish 装了win7后,打开chm文件,发现很多在xp系统打开正常的chm文件竟然出现问题, ...
- ArcGIS制作tpk离线压缩包
ArcGIS制作tpk离线压缩包 tpk是什么的缩写,对应的中文名称是? 什么叫tpk文件? 缓存切片? 切片类型:紧凑型与稀疏型. 一.目前自己使用的在ArcMap中制作tpk压缩包 1.首先打 ...
随机推荐
- The best Fibonacci is achieved in js
The best Fibonacci is achieved in js the best realized by using js 斐波那契数列 "use strict"; /* ...
- 使用 js 实现十大排序算法: 桶排序
使用 js 实现十大排序算法: 桶排序 桶排序 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- position: absolute; not work
position: absolute; not work https://stackoverflow.com/questions/11928294/css-position-absolute-with ...
- NGK全球启动大会圆满召开,一起预见区块链的美好未来!
NGK Global全球启动大会在高新技术产业区硅谷于美国当地时间11月25日圆满召开!这次会议邀请了星盟高管.NGK全球各大市场领导人.NGK生态产业代表等上百位嘉宾出席,此次会议持续了一个多小时, ...
- 2021-02:Teams开发平台更新概述
作为2021年工作计划的一部分,我会在每月的第三个星期五发布Teams开发平台的更新报告,给大家整理和讲解最新的平台功能,以及特色场景.这是第一篇文章,我会挑选截至到2月份一些重要的更新,以后每月的更 ...
- C++算法代码——n的全排列/全排列问题
题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1541 题目描述 输入一个整数n,输出的n(n<=100)的全排列. 输入 输入 ...
- Github Action 快速上手指南
前言 各位读者,新年快乐,我是过了年匆忙赶回上海努力搬砖的蛮三刀. Github之前更新了一个Action功能(应该是很久以前了),可以实现很多自动化操作.用来替代用户自己设置的自动化脚本(比如:钩子 ...
- linux系统忘记root的登录密码
参考链接:https://www.jb51.net/article/146541.htm 亲测有效 使用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7环 ...
- 永远不要眼高手低,Vue完整实现一套简单的增删改查CURD操作
1: 永远不要眼高手低,看起来很简单,但是你从来没有去动手试一下,就不知道其中真正需要注意的许多细节, 2:完整code如下: 1 <!DOCTYPE html> 2 <html l ...
- CSS 书写禅机
这是未来的趋势所向,如是我行. 注意:原文发表于 2017-9-6,随着框架不断演进,部分内容可能已不适用. CSS 日渐惹人憎恶. 究其原因颇多,归根结底,皆因 CSS 给人的感觉总是飘渺迷蒙.变幻 ...