用过NDOC的对生成CHM的项目文档应该不会陌生,可惜那丫居然不再做下去了。还好,MS公司的Sandcastle顶上来了,当然,现在很多高手们也在不断地开发类似NDOC这样的文档生成工具。但用来用去,还是这个比较喜欢,可以自动把其它语言代码也同时生成(类似MSDN)一样。可是网上对这个东东都是一些介绍性的文档,没有说如何使用,这里就把我使用的过程供大家分享,一起学习.

当然,我所说的这工具,是在VS。NET开发环境实现,Java好像也有同样的生成工具的。







Sandcastle生成的输出结果具有以下特点:

类似于MSDN布局的界面。 
自动生成索引项、内容项目表、主题块和页面布局,提高一致性和熟悉程度。 
自动生成语法宣称部分。 
自动生成继承表。 
代码彩色化。 
提供多种风格和语言选择,终端用户可从中选择自己最喜欢的形式。 
输出结果以HTML和CSS形式显示,微软承诺将来提供更多选择。


看到这样好的东西,我估计你也想试一试吧。呵呵。


使用前提:

在你的Solution里面的每个项目里,都会有一个Bin文件夹,同时你必须要让你的项目能生成一个XML文件.(在属性里面设置xml document file),除此之外,在每个方法或函数里面都要写上对应的注释。

如图:

怎么让项目生成一个XML document  file





代码中对应的注释:在每个方法前加三个斜杠 /// 会自动出来






做好了以上这两个前提准备,你的Bin文件下就应该有Sandcastle的东东了。









[下载]

废话少说,先去当一个Sandcastle再说


还好,MS免费提供了下载:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en





如果对这个玩艺儿有意思的话,可以去下载源码研究一下,开源嘛,不研究一下对不起脑子。


下载地址:

https://blogs.msdn.com/sandcastle/




[安装]

安装就不用我劳神吧,搞code不会装那实在是说不过去了吧,孩子。






安装好后记住安装位置






在安装位置中找到build_Sandcastle.bat这个批处理文件

Sandcastle\Examples\sandcastle\里面






这里提供一个xcopy.exe的系统文件,好像是用来COPY系统中的一些有用的文件的吧(放心,没毒)



下载文件 点击下载此文件


然后,把你的项目的XML,DLL文件与xcopy.exe  build_Sandcastle.bat 放在一起




[使用]



注:我这里采用的是命令行形式,如果要使用GUI方式生成,可以去下载一个

SandcastleGUI.exe (v1.47 - August 2008)
下载地址:http://www.inchl.nl/SandcastleGUI/


打开命令窗口,进入到你的文档所在的文件夹(就是把xml dll xcopy.exe build_Sandcastle.bat 装在一起的那个)







假设我要对IDAL.DLL这个生成文档,刚运行如下命令:

build_Sandcastle vs2005 abc.idal

你就可以在这个文件夹里看到一个CHM文件跟几个相关的文件夹了








如要你觉得上面的操作都比较麻烦,那你可以去下载一个 Sandcastle Help File Builder


你只要根据自己的项目去设定相关属性,同样可以生出chm鸡蛋来,更令人惊喜的是可以生出一个Net的网站!

操作界面跟NDOC类似







生成出来的类似MSDN的文档页面





除了上面这个插件外,Sandcastle 还可以通过 DocProject for Sandcastle  与 VS2005 VS2008集合在一起,以向导方式生出相关的文档来,具体的就不再述说了。大家可以看看下面这几个链接就知道了。

Sandcastle Help File Builder 
http://www.codeplex.com/SHFB

DocProject for Sandcastle 
http://www.codeplex.com/DocProject

AjaxDoc 
http://www.codeplex.com/ajaxdoc


一点小经验,与大家分享,多多支持。
http://www.dezai.cn/blog/default.asp?logID=213
posted on 2008-09-20 13:10  德仔  阅读(885)  评论(0编辑  收藏  举报