百度空间 | 百度首页 
               
 
查看文章
 
[原创]Sandcastle入门:创建C#帮助文档[3]
2007-11-02 02:33

(续《[原创]Sandcastle入门:创建C#帮助文档[2]》

5.生成文档步骤

前提:代码文档中使用规范的///注释,具体规范查看MSDN-建议的文档注释标记(C#编程指南)。也可以参看本人另一篇介绍文章:《C#中的XML注释》

5.0 使用命令行方式

参考文章:Ref[7]
——使用sandcastle自带的例子test.cs来生成CHM文件
==========================================================================

1.在命令行下打开该文档所在的路径。例如:

cd \Program Files\Sandcastle\Examples\Sandcastle

2.编译该C#文件,并从中抽取///注释:/t参数使得其编译为dll文件,/doc参数使得其同时生成包含///注释的comments.xml文档。

csc /t:library /doc:comments.xml test.cs

3.运行MrefBuilder生成中间文件reflection.org

MRefBuilder test.dll /out:reflection.org

4.运行XslTransform将上述中间文件转换成xml格式(vs2005)(瑶瑶按:使用prototype请参阅Ref[7]原文)

XslTransform /xsl:"..\..\ProductionTransforms\ApplyVSDocModel.xsl" reflection.org /xsl:"..\..\ProductionTransforms\AddFriendlyFilenames.xsl" /out:reflection.xml

5.生成主题清单

XslTransform /xsl:..\..\ProductionTransforms\ReflectionToManifest.xsl reflection.xml /out:manifest.xml

6.生成输出目录结构(vs2005

call ..\..\Presentation\vs2005\copyOutput.bat

7.运行BuildAssembler生成HTML主题文件

BuildAssembler /config:sandcastle.config manifest.xml

8.生成HTML help项目

XslTransform /xsl:..\..\ProductionTransforms\ReflectionToChmProject.xsl reflection.xml /out:Output\test.hhp

9.生成中间表格内容(vs2005

XslTransform /xsl:..\..\ProductionTransforms\createvstoc.xsl reflection.xml /out:toc.xml

10.生成HTML help项目信息

XslTransform /xsl:..\..\ProductionTransforms\TocToChmContents.xsl toc.xml /out:Output\test.hhc

XslTransform /xsl:..\..\ProductionTransforms\ReflectionToChmIndex.xsl reflection.xml /out:Output\test.hhk

11. 运行hhc生成CHM

hhc output\test.hhp

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

==========================================================================
Note:7. We are providing VS 2005 transforms under Presentation/VS2005 folder and the transforms shipped with the previous versions under Presentation/Prototype folder.
For building VS2005 format please use sandcastle.config file from C:\Program Files\Sandcastle\Presentation\vs2005\Configuration folder as it uses shared content from C:\Program Files\Sandcastle\Presentation\vs2005\Content and transforms from C:\Program Files\Sandcastle\Presentation\vs2005\Transforms
==========================================================================

5.1 Sandcastle Help File Builder

参考文章:Ref[5]
==========================================================================
1.首先要为项目生成一个包含注释的XML文件
在c#项目中鼠标右键点击所选的项目,选择Properties->Build项,勾选XML documentation file。设置完毕编译项目,就可以生成属于它的xml文件了。
2.打开我们已经安装好的Sandcastle Help File Builder并对它进行设置
  >>点击Add按钮,选中项目生成的exe,dll,xml文件
  >>保存该项目后点击Namespaces按钮,选中想要生成帮助文档的Namespace
  >>设定Dependencies选项,把项目中所引用到的dll文件加载进去
  >>设置HtmlHelp1xCompilerPath为HTML Help Workshop的安装路径,
  >>设置SandcastlePath为Sandcastle的安装路径
3.点击顶头菜单Documentation下拉菜单中的Build Project选项(或直接使用快捷键Ctrl+Shift+B)编译即可生成所需的帮助文档
4.该文档的默认输出路径在项目所在目录的Help文件夹下,当然也可以更改Sandcastle Help File Builder中的设置,自己设定它的输入路径。==========================================================================

5.2 SandcastleGUI

以下图片参考文章:Ref[6](按:新版本的界面有差异,但大体相同。)
界面:

1)生成各项目的*.dll和*.xml文件(在vs2005中编译选项设置,具体前面5.1 Sandcastle Help File Builder的生成步骤中已提及);
2)将*.dll和*.xml文件放在一个目录A下;将所有要附加的图片(比如类图和时序图)放在另一个并行的目录B下(注意不能有子文件夹);
3)启动SandcastleGUI,设置:
Directory that contains assemblies to document项选择目录A;
Output directory项选择一个空文件夹,如C;
Directory to include in documentation项选择目录B;
其它如C#语法、是否包含C#例子、生成文档类型(website或chm)等选项根据需要填。
4)设置完成后最好Save settings,因为可能常常要用到。然后Start documenting。
5)等待生成完成后就可以在C目录下找到chm文件了:

5.3 Sandcastle CHM编译BAT脚本和配置实用工具

未找到相关文章


5.4 DocProject

参考文章:Ref[4]
——使用MSDN上包含有标准注释的XML文档生成帮助文件示例
==========================================================================
1 先编写一个类库,这里使用的是MSDN上包含有标准注释的"XML文档"示例
2 打开下载到的工程文件, 打开XMLsample.cs, 可以看到各种注释的详细解释

3.使用DocProject方式, 在确保安装了DocProject后, 为工程添加新项目

==> ==> ==> ==>

4.编译DocProject前, 务必使你所要生成文档的类库编译输出注释的XML文件, 详细方法请查看在Visual Studio中生成“XML文档”示例
5.编译DocProject项目, 等待十几分钟(似乎有点慢, 即使类库很小), 就会在该项目下看到HTML版和CHM版的文档了。
==========================================================================

6.References

Ref[1]:Sandcastle:NDoc的继承人
By Lex Mark(李杨),2006-11-12
http://tb.blog.csdn.net/TrackBack.aspx?PostId=1380172

Ref[2]:用微软Sandcastle创建.NET文档
builder.com.cn,2007-04-13
http://www.builder.com.cn/2007/0413/386855.shtml
英文原文:Create .NET documentation with Microsoft's Sandcastle
By Tony Patton,2007-04-10
http://articles.techrepublic.com.com/5100-3513-6174811.html

Ref[3]:Sandcastle初探——官方版的NDoc
冬冬,2006-08-19
http://www.cnblogs.com/yuandong/archive/2006/08/19/481371.html

Ref[4]:使用Sandcastle创建你的类库文档
By MK2,2007-06-26
http://www.cnblogs.com/fengmk2/archive/2007/06/26/Create-your-classes-Library-doc-using-Sandcastle.html(未确定来源)

Ref[5]:Sandcastle创建帮助文档
By justgarden,2006-12-23
http://blog.sina.com.cn/s/blog_4b756451010006n4.html(未确定来源)

Ref[6]:创建专业级别的类库使用文档——Sandcastle十一月份CTP发布
By Dflying Chen,2006-11-13
http://www.cnblogs.com/dflying/archive/2006/11/13/558751.html

Ref[7]:Creating a Chm build using Sandcastle
By aram,2006-07-29
https://blogs.msdn.com/sandcastle/archive/2006/07/29/682398.aspx

***************************************************************************************************************

结语:

衷心感谢以上文章,很多图片都引用自原文。为了保持本文叙述风格的一致,对原文进行了一些细小的增删,望原作者见谅。

***************************************************************************************************************

(=======The End=======2007.11.01=======俺是瑶瑶=======)


类别:学习笔记:软件工程 | 添加到搜藏 | 浏览() | 评论 (4)
 
最近读者:
 
网友评论:
1
2007-11-02 10:34 | 回复
你太神奇了!。。。花样真多。。。勤奋的孩子。。。 其实JAVA也有相似的功能了,只不过做得没有这么漂亮。。。
 
2
2008-02-08 17:34 | 回复
very good..........
 
3
2009-06-09 20:35 | 回复
瑶瑶,你好,我现在用Sandcastle在做c#的帮助文档,发现一个问题,如果一个类如(class MyClass)前面不写public,用SandcastleGUI生成帮助文档时就会报错,生成的chm文件是空的,什么也没有,请问瑶瑶,这个问题有没有解决办法?
 
4
2009-06-09 21:10 | 回复
回复MoonDust0728:呃,不好意思,这个没有试过哦……
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu