Sandcastle初探——官方版的NDoc

 

Sandcastle初探——官方版的NDoc

Sandcastle(CodeName)是微软出的用于编译发布组件(Assembly)信息的一个工具,基本上等同于NDoc(后者目前已经停止开发,最新版本仍然不支持.Net 2.0)。这个工具通过反射和Xslt技术,可以从dll文件及其xml注释(编译时加/doc参数得到),得到一个完整的帮助文档,格式可以是Html或CHM甚至是任何自定义的格式。当前Sandcastle最新版本是June CTP。使用方式仍然是命令行,而官方网站上给出的使用说明只能支持单一的Dll,也就是Project,对于Solution仍然没有任何说明。其Blog上介绍说以后会有GUI和VS.Net 2005 Add-In等使用方式。现在让我们来先睹为快。

Sandcastle June CTP的下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=e82ea71d-da89-42ee-a715-696e3a4873b2&DisplayLang=en,如果你需要编译生成CHM文档,还需要HTML Help Workshop,下载地址http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp

以上两个文件的安装很简单,一直点击下一步就可以成功安装。安装时强烈建议使用默认的路径。

编译文档的方法有两种,一种是使用我写的Bat文件(前提是安装使用的是默认路径),下载地址/Files/yuandong/sandcastlebuild.rar:使用方法如下:

1. 下载并安装Sandcastle和HTML Help Workshop,使用默认路径。

2. 点这里下载编译文件,解压缩。包含三个文件:build.bat,build.config,build.hhp。

3. 将以上三个文件拷贝到Project的bin的Debug目录下。(假设要编译的组件名成为Assembly,确定目录下至少包含Assembly.dll和Assembly.xml,后者为XML注释。如何产生XML注释参见http://msdn2.microsoft.com/zh-CN/library/b2s063f7.aspx

4. 开一个CMD,导航到Debug目录。

5. 键入“build 组件名”上例中即为“Build Assembly”。

6. 生成的文件在Debug的Output目录下。

以下为我生成的CHM的截图:

 

下的“组件名+Html”目录下为Html格式的文件,名称使用的是GUID,一般来说大小最小的为首页,复制一个,改名为Index.htm就可以发布了。以下为Html的截图:

 

 


请注意上图最低部的版权信息:“(c) It.ouc.edu.cn. All rights reserved. Send comments about this topic to aq08good@gmail.com.”此信息从C:/Program Files/Sandcastle/Presentation/Content/shared_content.xml里面设置(默认是微软)。

 

从截图中可以看到,Sandcastle对中文的支持很好,而且生成的默认格式是我们再熟悉不过的MSDN风格。

注意,以上方法只适合没有依赖的组件,对于有依赖的组件,需要修改Bat文件,详细方法在Bat文件中有详细的注释。

第二种编译的方法是官方发布的方法,详情参看https://blogs.msdn.com/sandcastle/archive/2006/07/29/682398.aspx,E文很简单,我就不翻译了。这种方法比较麻烦,有问题的可以留言讨论。

从以上介绍可以看出,Standcastle的编译生成已经很成熟了,而且从分析来看,其可定执行相当强大。只是使用方法还很简陋,离实际使用还有距离,毕竟还是CTP版本。不过相信微软的东西,最终易用性应该是让人满意的。更多内容可以参考:

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

http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=66&SiteID=1

或留言讨论。


Output

 

 

Chm 工具制作

需要3个工具:
Sandcastle:微软官方的,文档生成引擎
DocProject:一个文档工程插件,要基于Sandcastle安装了才能使用
HtmlHelp:微软官方的,CHM文件生成引擎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现步骤: 第一:把生成帮助的工程的属性做下修改,右键工程,属性,生成,下面的输出框中有一个生成XML文件选项,打勾。文件会把工程中所有类,方法,属性上的注释保存下来。 第二:启动shfb,然后新建一个工程,名称可以随意指定。这里主要说说几个比较重要的属性设置问题: 1:Documentation Sources,是需要生成详细注释的工程。如果最外层工程有对其它工程的引用,而且我们希望看到所有引用的类,就需要把所有被引用的工程都添加进来。否则用户点击外层类时,被引用的类上面不会有链接,即我们看不到被引用类的内容。 2:References:设置一些工程的依赖项。 3:FrameworkVersion: 选择对应的Framework版本 ,最新版的shfb的默认设置是.net 3.5。 4:HelpFileFormat : 选择需要生成的文档的格式. 这里选定的格式要在下面对应的地方进行设置。对于不同的格式还需要安装不同的编译工具 Helpe1x(chm)需要安装Microsoft HTML Help,Helper2x(Hxs)需要安装 Hxcomp. 5:NamespaceSummaries: 选择需要生成的命名空间,直接点击开窗选择。 6:Lanugages :语言,如果文档中有中文,最好选择中文。 7:CopyrightHref:版权链接,例如http://www.xxx.com/ 8:CopyrightText: 版权文字 ,xx公司所有 9:HelpTitle: 文档标题 10:HtmlHelpName:文档生成文件名称 11:PresentationStyle: 支持vs 2005,Prototype等格式 ,根据自己需要选择 12: OutputPath:生成路径,即最后chm文件存放位置,当然除了CHM还有些其它文件。 13:HtmlHelp1xCompilerPath:可以自定义html help的安装路径。 14:SandcastlePath:可以自定义sandcastel的安装路径。 到此,我们就可以点击软件窗口上的buile the help file按钮,就可以按预期进行生成文档了。如果没有特殊情况,运行期间不会发生任何错误,我们会成功的在输出目录中发现chm文件,但有些情况还是需要注意一下的: 第一:在添加Documentation Sources时,不能在路径中包含.h的字样,例如.Hotel.Host\bin这种路径是不合法的,最后hhc软件会报错。 第二:References项中不能存在重复项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值