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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介:

    很久以前就使用ADB这个工具来生成项目的帮助文档。功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释。就生成文档来自己看,非常好用。这也是一个学习方法吧。例如本文在:

.NET平台开源项目速览(2)Compare .NET Objects对象比较组件

.NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB

  上述2篇文章中最后的资源中就手动制作了CHM帮助文档。有时候我们还可以对源码进行翻译,再制作,效果还不错。今天介绍的ADB工具,我使用的是基于X组件的一个改进版。改进的细节我也不太清楚,反正非常好用。下面来看看介绍和使用方法。

.NET开源目录:【目录】本博客其他.NET开源项目文章目录

本文原文地址:.NET平台开源项目速览(4).NET文档生成工具ADB及使用

1.ADB介绍

     程序的注释在程序的编写和维护中扮演着相当重要的角色,在Visual C#中,可以为代码创建文档,方法是在XML标记所指的代码块前面,直接在源代码的特殊注释字段中包括XML 标记。编译器编译时将在源代码中搜索所有的 XML 标记,并创建一个XML文档文件。.NET文档生成工具(下文简称为ADB)通过反射程序集及其代码中的XML注释来创建MSDN形式的API文档。

    ADB文档生成工具是博客园  卢春城 开发的一个开源工具,项目的介绍网址为:

    http://www.cnblogs.com/lucc/archive/2008/09/01/1281085.html

    注意:使用该软件需先安装Microsoft HTML Help Workshop,主要作用有:   

(1)根据程序集及其对应的XML文档文件生成风格类似MSDN的文档,并打包为CHM文件;

(2)将多个程序集对应的文档合并到一个文档中;

(3)自动搜索程序集及其引用的程序集对应的XML文档(包括.Net自带的程序集,如:System.xml);

(4)灵活控制在文档中显示哪些成员(如:只生成公共方法);

(5)界面友好,操作简便。

(6)用户可以根据自己的需要扩展XML标志

(7)用户可以根据自己的需要编写自定义的文档生成器。

    ADB官方提供的最新版是2.3,可以去上面的链接下载最新版,我这里分享的是@大石头使用X组件重新编译后的版本。

2.ADB生成.NET文档过程

    使用过程分为3个步骤:

2.1 .NET项目代码注释

    ADB代码生成主要是根据项目的注释来进行生成的。例如C#中注释的标记:

/// <summary>获取指定数组中,满足范围的比例</summary>
/// <param name="data">目标数据</param>
/// <param name="L">下限</param>
/// <param name="H">上限</param>
public static double FindPrecent(this IEnumerable<Int32> data, Int32 L, Int32 H)
{
	var t = (double)data.Where(n => n >= L && n <= H).Count();
	return t / (double)data.Count();	
}

    当然还有更多的标记符号,例如example,code,see等等。如果想做很完善的帮助文档,那这些细节处理得越好,那文档的作用就越强大。

2.2 项目设置与生成

    项目编译之前,要确认是否生成xml文件,打开 项目属性->生成->输出 节点,如下图:

blob.png

    确认勾选xml文档文件选项。生成的时候就是根据这个xml的注释来进行的。

2.3 ADB使用生成CHM文档

    打开ADB软件,我在第3节提供2个版本的下载,如果需要自己编译其他版本,打开ADB软件,如下图:

blob.png

    输入标题后,添加你要生成的文档的dll文件,可以添加多个,然后如果你生成了对应的xml文件,会自动加载进来。否则会报错。如下图:

blob.png

    还可以只添加你想要的类型以及方法。一般非公共类型可以不加进去。最后点”创建文档”就OK了,它会生成到你xml文件的目录。

注意2个小问题:你的CHM的文件标题要规范一点,什么#号,:号等都不要加上去,否则会报错,有时候很头疼。。。经常会忘记这一个,有时候还不止咋搞,就错误。如下图所示,标题就有问题:

blob.png

    好了,不说了,说多了都是泪。下面看看我生成的一些文档:

blob.png

    效果不错哦。。。赶紧试试。

3.资源与代码

    我这里发的是X组件修改版本的源代码,感谢@卢春城 ,@大石头,我只是打酱油的,把它分享出来而已。

 下载地址更新为博客园的地址 :   Microsoft HTML Help Workshop下载

    ADB X组件版本源码:ADB_Src.rar

    ADB  .NET 4.0版本:ADB_4.0.rar

    ADB  .NET 4.5版本:ADB_4.5.rar

大家主要,如果dll不是上面2个版本,可能要自己编译一下。如果有问题,及时留言,我会给大家解决,可能有一些小问题。因为我安装好后,基本生成都是好的。没碰到过啥问题,不保证大家也么有问题啊。非常感谢TakeTry 发现一个问题:


大多数人安装HTML Help Workshop 会默认安在C盘,
我将 HTML Help Workshop 安装到D盘时,生成时会报"系统找不到指定的文件"。

在源码里,将CreateCHM()方法中的
“_hhcProcess.StartInfo.FileName = _defaultHHCPath; ” ,_defaultHHCPath 改成 HHCPath 就可以正常生成了。
相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
17天前
|
存储 NoSQL Redis
【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)
|
5天前
|
网络协议 C#
NSmartProxy:一款.NET开源、跨平台的内网穿透工具
NSmartProxy:一款.NET开源、跨平台的内网穿透工具
|
1月前
|
存储 人工智能 开发框架
一款.NET开发的AI无损放大工具
【8月更文挑战第11天】本示例介绍了一个基于.NET开发的AI无损图像放大工具架构。前端采用WPF或ASP.NET Core构建,提供直观的用户界面;后端包括图片上传、放大处理与结果存储服务。AI模型处理层负责加载预训练模型及图像预测放大。示例代码展示了图片上传与放大服务的关键逻辑,以及WPF界面设计。实际开发需关注模型选择、性能优化、用户体验、格式兼容与部署维护等方面。
|
1月前
|
C#
一款.NET开源、跨平台的DASH/HLS/MSS下载工具
一款.NET开源、跨平台的DASH/HLS/MSS下载工具
|
11天前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
35 0
|
1月前
|
人工智能 C# Windows
一款.NET开发的AI无损放大工具
今天大姚给大家分享一款由.NET开源(GPL-3.0 license)、基于腾讯ARC Lab提供的Real-ESRGAN模型开发的AI无损放大工具:AI-Lossless-Zoomer。
|
4月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
346 1
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
135 0
|
12月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
684 0
|
23天前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
42 0

热门文章

最新文章