开发记事本

生命中闪过了多少if...then...else...

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  57 Posts :: 2 Stories :: 278 Comments :: 10 Trackbacks

在 VS.Net 的 IDE 中对C#提供了一些可以自动生成的 XML 注释,使用这些注释可以对代码中定义的对象进行说明、注解;通过设置项目属性,在生成项目时,可以让VS.Net自动的将这些注释信息输出到 XML 文件中,这些 XML 文档可以用文档自动生成工具 NDoc 转换为 MSDN 格式的 html 文件,并自动编译为 CHM 文件。

对于 C# 项目,在 VS.Net 的 IDE 中,通过在类、方法、属性等前通过输入“///”可自动生成 XML 注释框架,在框架中直接填写内容即可。

举例如下:

在SampleNameSpace命名空间中定义了一个Sample类,该类除构造器外有一个SomeEvent事件,则对该类和事件的说明如下:

using System;

namespace SampleNamespace
{
    
/// <summary>
    
/// Sample 类的摘要说明。
    
/// </summary>
    
/// <remarks>用 remarks 标签书写备注</remarks>
    
/// <example>这是例子说明</example>

    public class Sample
    
{
        
/// <summary>
        
/// 对构造器的说明
        
/// </summary>

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


        
/// <summary>
        
/// 对函数/过程的摘要说明
        
/// </summary>
        
/// <param name="StringParam">对参数 StringParam 的说明</param>
        
/// <param name="IntParam">对参数 IntParam 的说明</param>
        
/// <returns>对返回值的说明</returns>

        public Boolean SomeEvent(string StringParam,Int32 IntParam)
        
{
            
//
            
//函数/过程内容
            
//
            return true;
        }

    }

}

以上代码中“///”后面的注释内容中,所有的 XML 标签都是由 IDE 自动产生的,只需要填写内容即可。

除了上面使用到的标签外,NDoc 还支持其他的一些标签,参见 NDoc 支持的文档注释标记

对于VB.Net项目,IDE 需要安装一个第三方工具 VBCommenter 后才支持 XML 注释的自动生成,安装后通过输入“'''”回车,即可自动生成 XML 注释框架。

项目生成过程中默认不会生成包含项目 XML 注释信息的 XML 文档,需要对项目进行配置:打开项目,选择菜单“项目”→“xxxx项目属性”→“配置属性”→“生成”→“XML 文档文件”,在这里填写要输出的 XML 文件名。

以上的配置说明适用于 C# 项目,VB.Net 项目需要安装 VBCommenter 并选中“Create .xml files when projects are built”选项, VBCommenter 不允许自己设定输出 XML 文件名,输出的 XML 文件名称默认为 项目名称 + ".xml"。

做了以上的配置后,在生成项目时就会自动的把填写在源代码中的 XML 注释输出到指定文件中。

在输出到 XML 文件后,就可以用 NDoc 来生成项目开发文档了。

NDoc 是一个基于 GPL 协议的开源项目,其主页为http://sourceforge.net/projects/ndoc/,目前最新版本为 v1.3 Beta1a。

运行 NDocGui.exe 文件打开 NDoc,点击菜单“Project”→“New from Visual Studio Solution”选择一个 Visual Stucio 解决方案并为其创建一个新的 NDoc 项目,然后选择要添加到项目中的程序集:点击“Add”按钮选择程序集文件名和对应该程序集文件的 XML 注释信息文档文件名,点击 OK 即可添加到项目中,重复以上步骤将所有要生成文档的程序集加入到NDoc项目中。

窗口的下方是 NDoc 项目属性设置部分,使用方法和 Visual Studio.Net 的属性窗口相同,每个属性都在下面有简单介绍,可以在这里对最终生成的 CHM 文档的外观、版权信息等信息进行设置。

最终生成的文档格式有多种选择,包括 JavaDoc、LaTeX、LinearHtml、MSDN、XML 五种,我们一般采用 MSDN 格式生成 html 文档并将其编译为 CHM文件。

设置完成后点击“Build Documentation”按钮即可生成 html 文档并将其编译为 CHM 文件。

对 NDoc 项目的设置可以保存为 .ndoc 配置文件,NDoc 还提供了一个 NDocConsole.exe 文件,使用这个文件可以在命令行下完成 NDoc 项目的编译工作,这样就在持续构建过程中提供了一个简单的方法来完成文档的自动生成工作。

posted on 2004-09-07 16:34 NetCobra 阅读(6725) 评论(17)  编辑 收藏 所属分类: 开发心得

Feedback

#1楼  2004-11-28 11:24 FLY [未注册用户]
为什么我编译时提示MSHelpCompiler找不到?
我的msn:aspx@hotmail.com谢谢
  回复  引用  查看    

#2楼  2005-07-05 14:04 silence [未注册用户]
生成的html文档中,中文注释均变成“????”了

要怎样才能使生成的html文档中中文正常显示呢?
  回复  引用  查看    

#3楼  2005-07-22 15:56 hoyi [未注册用户]
有中文版本的nant,破宝农的。
  回复  引用  查看    

#4楼  2005-08-17 10:50 memine [未注册用户]
请问为什么remarks提取不出呢?谢谢
  回复  引用  查看    

#5楼  2005-09-08 10:07 guozhenjun [未注册用户]
ndoc- -
from:
http://chandlerzhao.blogchina.com/chandlerzhao/2564051.html

昨天在msdn上了解到ndoc,今天下了,试用了一下,非常爽。
以后写代码都认真写规范的xml注释,我在msdn上下的那些小程序,
别人程序虽小,几百行而已,都写的非常规范的xml注释。
ndoc把xml注释等搞成chm帮助文档太好用了,这样项目大了,文件
多了,查询起来就非常方便。
不过今天刚用ndoc的时候,发现选择中文字符时候,空格变成了?
在网上查了查,原来是作者把字符集选错了。我把ndoc代码从
http://ndoc.sourceforge.net/ 上下载下来,修改了下
msdn工程中MsdnDocumenter.cs中Build函数中部分代码
2052表示选择中文

CultureInfo ci = new CultureInfo(MyConfig.LangID);
currentFileEncoding = Encoding.GetEncoding(ci.TextInfo.ANSICodePage);

//add by Chandler
if(MyConfig.LangID == 2052)
{
currentFileEncoding = Encoding.UTF8;
}

同样修改msdn2中Msdn2Documenter.cs中Build函数

编译的时候,发现找不到 using MSHelpCompiler 一看果然一个引用不可用
删掉,准备从网上搜索这个dll重新添加进去,后来一想,刚装的那个ndoc
文件夹里肯定有那个dll,果然找到,呵呵,添加进去。重新编译,搞定!

接着把重新编译出来的可执行文件拷贝到ndoc安装目录覆盖掉原来那个,
运行的时候出了错,我又把所有重新编译出来的其他dll全copy过去覆盖原来
的,还是有问题。没办法,代码那多,估计也不清楚么事问题。干脆把安装
的ndoc删掉,直接用编译出来的算了,直接把整个工程保存,把ndocgui.exe
创建个桌面快捷方式,一样用~~~



- 作者: Chandler 访问统计:17 2005年08月12日, 星期五 11:22 加入博采

  回复  引用  查看    

#6楼  2005-09-16 17:56 丁浩 [未注册用户]
怎么老提示,找不到项目文件?
  回复  引用  查看    

#7楼  2006-03-06 11:49 walker1983 [未注册用户]
请教以下一个问题.
此解决方案中不包含任何 NDoc 可识别的项目。

解决方案可能不包含任何项目,或者包含的每个项目都无法被导入到 NDoc 中。
planewalker1983@hotmail.com
的 谢谢!

  回复  引用  查看    

#8楼  2006-03-17 08:35 宽容 [未注册用户]
您好,请问怎么实现将app.config的内容也写入帮助文档呢?谢谢!!!
  回复  引用  查看    

#9楼  2006-03-21 13:31 openhouse [未注册用户]
请教以下一个问题.
此解决方案中不包含任何 NDoc 可识别的项目。

解决方案可能不包含任何项目,或者包含的每个项目都无法被导入到 NDoc 中。
openhouse20@hotmail.com
的 谢谢!
  回复  引用  查看    

#10楼  2006-03-21 14:17 openhouse [未注册用户]
生成的xml中有方法的描述,可是生成文档后描述就没有了,
我都设置了,就是不知道对不对,能帮帮我么?谢谢了!!
我用的是vb.net
  回复  引用  查看    

#11楼  2006-04-03 17:10 cgrszy [未注册用户]
ndoc如何能支持.NET 2.0下的文档生成?
用它生成VS2005下的类库文档时,总是报告 .NET 版本不兼容的信息。
  回复  引用  查看    

#12楼  2006-04-03 18:42 cgrszy [未注册用户]
哈,搞定!
原来把ndoc在VS2005下编译一下就可以支持.NET 2.0了,
不过要注意Setup项目下的Files目录下的文件要手工更新成新生成出来的文件,
然后用新生成出来的msi文件就可以安装了
  回复  引用  查看    

#13楼  2006-04-21 17:40 LILI8105 [未注册用户]
为什么对Nunit的测试程序进行xml注释编译时,提示NUNIT框架的标记不识别呢?
又什么方法可以对测试程序的XML注释进行编译吗?
  回复  引用  查看    

#14楼  2006-05-13 13:37 mei [未注册用户]
怎么用控制台控制NDoc的执行过程?譬如说,我只想NDoc执行到一半时就停下来。谢谢!
memory-212@hotmail.com
  回复  引用  查看    

#15楼  2006-06-07 09:50 梁广永      


如何搞定支持.net 2?
  回复  引用  查看    

请教高手
  回复  引用  查看    

为什么生成的中文都变成了"???"
  回复  引用  查看    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-09-07 16:57 编辑过
 
另存  打印
最新IT新闻:
· 阿里巴巴确立未来十年战略规划 修改自身定位
· 微软高管:Wii用户最终会成为Xbox 360用户
· 遵守YouTube案裁定 谷歌将陷入隐私指控深渊
· iPhone入华在即 中国手机产业生存面临考验
· 阿里巴巴集团再向淘宝注资20亿元