NDoc使用简要手册

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

NDoc是一个.NET代码文档生成工具,有点象JDoc,但这个是在.NET下的工具。

NDoc使用Visual Studio.NET开发过程中生成的程序集和XML文档来生成一些格式象Visual Studio.NET和.NET Frmaework SDK在线帮助文档那样的一些编译后的HTML帮助文档。

它是一个OpenSource的项目,在http://ndoc.sourceforge.net可以下载到SourceCode。

使用十分简单,例如创建一个简单的项目来看NDoc可以为我们做些什么?
创建一个简单项目叫testNDoc,只有一个WindowForm,上面有个Button,单击显示信息。
将显示信息的类封装为ShowMsg类,只有一个方法ShowMessage.

代码如下:
showMsg.cs

using ?System;
using ?System.Windows.Forms;

namespace ?testNDoc
{
????
///?
????
///?ShowMsg?的摘要说明。
????
///?显示测试信息的类
????
///?

????public?class?ShowMsg
????
{
????????
public?ShowMsg()
????????
{
????????????
//
????????????
//?TODO:?在此处添加构造函数逻辑
????????????
//
????????}

????????
///?
????????
///?测试字符串
????????
///?

????????private?string?testStr?=?null;

????????


????????
///?
????????
///?增加几个字符的私有函数
????????
///?

????????
///? 传递字符串参数
????????
///? 返回处理过的字符串

????????protected?string?addStr(string?msg)
????????
{
????????????
//?返回字符串
????????????return?"StrAdd:"?+?msg;
????????}

????????
? ??????
///?
????????
///?test?addOk
????????
///?

????????
///?
????????
///?

????????protected?string?addOk(string?msg)
????????
{
????????????
return?"Ok:"?+?msg;
????????}

????}

}

Form1.cs
using ?System;
using ?System.Drawing;
using ?System.Collections;
using ?System.ComponentModel;
using ?System.Windows.Forms;
using ?System.Data;

namespace ?testNDoc
{
????
///?
????
///?Form1?的摘要说明。
????
///?

????public?class?testNDoc?:?System.Windows.Forms.Form
????
{
????????
private?System.Windows.Forms.Button?btnShowMsg;
????????
private?System.Windows.Forms.Button?btnNoSummary;
????????
///?
????????
///?必需的设计器变量。
????????
///?

????????private?System.ComponentModel.Container?components?=?null;

????????
public?testNDoc()
????????
{
????????????
//
????????????
//?Windows?窗体设计器支持所必需的
????????????
//
????????????InitializeComponent();

????????????
//
????????????
//?TODO:?在?InitializeComponent?调用后添加任何构造函数代码
????????????
//
????????}


????????
///?
????????
///?清理所有正在使用的资源。
????????
///?

????????protected?override?void?Dispose(?bool?disposing?)
????????
{
????????????
if(?disposing?)
????????????
{
????????????????
if?(components?!=?null)?
????????????????
{
????????????????????components.Dispose();
????????????????}

????????????}

????????????
base.Dispose(?disposing?);
????????}


????????
Windows?窗体设计器生成的代码

????????
///?
????????
///?应用程序的主入口点。
????????
///?

????????[STAThread]
????????
static?void?Main()?
????????
{
????????????Application.Run(
new?testNDoc());
????????}

????????
????????
///?
????????
///?单击button显示信息
????????
///?

????????
///?
????????
///?

????????private?void?btnShowMsg_Click(object?sender,?System.EventArgs?e)
????????
{
????????????ShowMsg?sMsg?
=?new?ShowMsg();
????????????sMsg.ShowMessage(
"Hello?");
????????}


????????
private?void?btnNoSummary_Click(object?sender,?System.EventArgs?e)
????????
{
????????????ShowMsg?sMsg?
=?new?ShowMsg();
????????????sMsg.ShowMessage(
"No?Summary?Click!");
????????}

????}

}


为了使用NDoc生成文档,必须有一个编译后的程序集和一个导出的XML文件,要生成这个XML文件,必须在项目属性中将生成XML文件的

选项填上文件名字,如下图:

编译有生成一个对应的XML文件:

打开XML文件看到以下内容(注意:这个XML文件并不是NDoc生成的,而是Visual Studio.NET生成的):

xml?version="1.0"?>
<doc>
????
<assembly>
????????
<name>testNDoc name>
????
assembly>
????
<members>
????????
<member?name="T:testNDoc.testNDoc">
????????????
<summary>
????????????Form1?的摘要说明。
????????????
summary>
????????
member>
????????
<member?name="F:testNDoc.testNDoc.components">
????????????
<summary>
????????????必需的设计器变量。
????????????
summary>
????????
member>
????????
<member?name="M:testNDoc.testNDoc.Dispose(System.Boolean)">
????????????
<summary>
????????????清理所有正在使用的资源。
????????????
summary>
????????
member>
????????
<member?name="M:testNDoc.testNDoc.InitializeComponent">
????????????
<summary>
????????????设计器支持所需的方法?-?不要使用代码编辑器修改
????????????此方法的内容。
????????????
summary>
????????
member>
????????
<member?name="M:testNDoc.testNDoc.Main">
????????????
<summary>
????????????应用程序的主入口点。
????????????
summary>
????????
member>
????????
<member?name="M:testNDoc.testNDoc.btnShowMsg_Click(System.Object,System.EventArgs)">
????????????
<summary>
????????????单击button显示信息
????????????
summary>
????????????
<param?name="sender"> param>
????????????
<param?name="e"> param>
????????
member>
????????
<member?name="T:testNDoc.ShowMsg">
????????????
<summary>
????????????ShowMsg?的摘要说明。
????????????显示测试信息的类
????????????
summary>
????????
member>
????????
<member?name="F:testNDoc.ShowMsg.testStr">
????????????
<summary>
????????????测试字符串
????????????
summary>
????????
member>
????????
<member?name="M:testNDoc.ShowMsg.ShowMessage(System.String)">
????????????
<summary>
????????????显示信息在信息框中的公有函数
????????????
summary>
????????????
<param?name="msg">传递字符串参数 param>
????????
member>
????????
<member?name="M:testNDoc.ShowMsg.addStr(System.String)">
????????????
<summary>
????????????增加几个字符的私有函数
????????????
summary>
????????????
<param?name="msg">传递字符串参数 param>
????????????
<returns>返回处理过的字符串 returns>
????????
member>
????????
<member?name="M:testNDoc.ShowMsg.addOk(System.String)">
????????????
<summary>
????????????test?addOk
????????????
summary>
????????????
<param?name="msg"> param>
????????????
<returns> returns>
????????
member>
????
members>
doc>

仔细对比这个XML文件和源代码之间的关系可以发现:
1.这个XML文件列出了大部分的方法,不管这些方法是私有,公有还是保护的,甚至构造函数;
2.region的部分并没有列入XML文件;
3.没有带注释的方法也没有列入XML文件,例如ShowMsg的构造函数和Form1.cs中的btnNoSummary_Click函数部分;
4.有注释的变量也被列入XML文件了,例如Form1.cs中的private System.ComponentModel.Container components = null和ShowMsg类

中的private string testStr = null;5.对于//这种方式的注释并没有例如文件;

小结:以下面方式的注释会列入XML文件中

???????? ///?
????????
///?增加几个字符的私有函数
????????
///?

????????
///? 传递字符串参数
????????
///? 返回处理过的字符串

那么NDoc处理后又是如何的呢?

安装NDoc后运行程序,选择程序集和对应的XML文件,如下图

然后就设置生成文档的相关参数了
文档类型目前支持6种:
HtmlHelp2? 注意,这种文档需要安装Visual Studio Help Integration Kit,可以在微软网站下载;
JavaDoc??? 类似于Java API的文档方式,习惯看Java API的人比较喜欢
LaTeX (alpha)
LinearHtml (alpha)
MSDN
XML

选择不同的文档类型需要设置一些不同的参数,这里选择HtmlHelp2格式。
可以设置的参数比较多,很多可以使用默认值,每个的作用都可以在下面看到它的解释,这个例子选择的设置如下图:

选择菜单上的Documentation->Build就可以生成需要的帮助文档了。

此时就会在NDoc文件所在目录下生成一个doc目录,全部生成的文件都放在这个目录下。

打开NDocTest.chm,看到的效果如下:

这里可以看到生成的信息并不是单单依赖于上面讨论的XML文件,也生成了很多完整的信息,这些信息应该通过反射机制在程序集中读取的。

对比结果可以看到:
1.生成的CHM只显示了public和protected,而private则没有显示,不管是否在XML有反应;
2.继承过来的方法也会在CHM中显示出来;
3.生成的CHM主要以程序集为基础,将public和protected的方法显示出来,而XML主要作为注释的参考,例如项目中有些没有注释的共有方法在XML中没有反应出来,但是在CHM也会显示出来。

小结:NDoc生成的CHM并没有完全将项目中的全部注释抽取出来,但是它作为生成API文档则是十分有用的。


另外值得注意的是:
在使用中发现NDoc的同步似乎有些问题,例如第一次生成后,对有些方法做了些修改,注释的修改可以同步更新,但一些方法的属性变更并没有直接反应过去,例如将public改成protected,在生成的CHM中也不会直接反应。

?

====================

NDoc中的一些参数设置可以控制生成显示,如下图:


将DocumentPrivates打开则可以显示private的方法了。

HelpNDocCHM制作工具)个人免费版 使用方法 1.安装 依赖插件 htmlhelp.exe 2.安装 helpndoc-setup-5.9.0.711 Version: 5.9.0.711 Personal Edition (Restricted License) helpndoc缺点: 左侧目录:输入中文时会出现乱码。因此建议使用 helpsmith 工具 helpsmith 工具下载地址:https://download.csdn.net/download/dadaxiaoxiaode/10722059 立即下载

相关推荐

HelpNDoc 免费版

helpndoc 是国外一款著名的电子书制作工具,现在已经推出5.2版本软件功能更加的强大,可以免费制作;本站提供helpndoc 中文版下载软件采用Ribbon风格界面,可以轻松制作帮助文件或电子书。

NDoc1.3.1使用手册

NDoc1.3.1使用手册 目录 NDoc1.3.1使用手册1 目录2 修改历史纪录3 1、NDoc简介4 2、安装(for VS2003)4 3、使用7 3.1 配置您的C#项目...

234

CHM编译工具+详细图解教程

CHM的编辑软件+详细的图示使用教程。轻松学会制作自己的CHM电子书。

NDoc使用说明!

作者:James Avery 翻译:lucentoff 出处:http://msdn.microsoft.com/msdnmag/issues/04/07/MustHaveTools/default.aspx 声明:版权属原作者所有,转载请注明出处! --------------------------------------------------------------------------

在这里,你可以方便的找到你要找的答案 2394

NDoc使用简要手册的补充

感谢Jam Snake在NDoc使用简要手册中的评论NDoc中的一些参数设置可以控制生成显示,如下图:将DocumentPrivates打开则可以显示private的方法了。

天道酬勤 1222

NDoc使用简要手册 及中文支持(转)

NDoc使用简要手册 http://www.cnblogs.com/windsails/articles/40212.htmlNDoc中文支持 http://www.cnblogs.com/keyboy/archive/2005/02/01/100165.html 转载于:https://www.cnblogs.com/gaofei_work/archive/2009/09/01/1557799....

weixin_34235371的博客 154

HelpNDocv4.6.2绿色免费版轻松建立帮助文件

HelpNDoc是一个用来创建制作HTML帮助文件的软件,对个人完全免费,使用 Ribbon 风格界面,可以轻松制作帮助文件或电子书,并发布为 CHM、Web、PDF、Word、EPUB、Kindle Ebook 等格式 HelpNDoc 有一套比较灵活的模板系统,可以在预置的目录模板中任意添加一级、二级目录,并分别编辑各个目录下的内容,实现了完全的所见即所得。同时编辑功能也比较强大,可插入各类资

NDoc用户指南

火龙果软件工程技术中心欢迎使用NDocWhat'sNew?已知问题快速教程配置您的C#项目“装饰”您的代码NDoc支持的标记NDoc支持的属性(Attribute)新建NDoc项目NDoc设计器选项NDoc命令行工具使用NDoc命令行自动生成代码文档NDoc文档引擎VS.NET文档引擎指向其他文档集合的XLinks与VisualStudio.NETIDE的集成MicrosoftHelp2部署MSDN文档引擎MSDN2003文档引擎XML文档引擎JavaDoc文档引擎LinearHTML文档引擎LaTeX文档引擎NDoc支持的标记标记用法<exc

HelpNDoc-5.2.0.265

一款个人觉得比较好用的文档编辑工具 而且是免费的哦

NDoc使用简要手册增加了例子代码

感谢Dudu让我上传了例子文件请点击这里。在文章最后。

weixin_34168700的博客 70

DHT11单总线通信原理与嵌入式时序实战

单总线通信是一种仅用一根信号线实现双向数据交互的基础总线技术,其核心在于严格的物理层设计(如开漏输出、外部上拉)与微秒级时序控制。它不依赖专用硬件外设,可由GPIO模拟实现,因此成为嵌入式系统入门理解通信本质的理想载体。DHT11作为典型单总线传感器,以极简协议结构(启动信号、响应脉冲、40位数据帧、校验和)暴露了电平宽度判别、延时精度、噪声容限等关键工程挑战,广泛应用于STM32、Arduino、ESP32等平台的温湿度采集场景。掌握DHT11通信,既是训练示波器波形分析与裸机时序编程能力的起点,也为进阶

weixin_30357231的博客 204
上一篇: C#异常处理机制初步
下一篇: 十个必备的.NET开发小工具(1):Snippet Compiler
qq_net
博客等级 码龄24年 13粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值