让Sandcastle为你的类库生成类似于MSDN的帮助文档-阿里云开发者社区

开发者社区> 技术小甜> 正文

让Sandcastle为你的类库生成类似于MSDN的帮助文档

简介:
+关注继续查看
为你的类库生成类似于MSDN的帮助文档
.net开发人员都知道大名鼎鼎的MSDN帮助文章,对VS2008的MSDN帮助文档,微软是这么定义的:
“MSDN Library for Visual Studio 2008 是权威的开发人员文档。我们将继续为您提供有关 Visual Studio 2008 发行版本地帮助的最新信息,同时,我们还增强了帮助选项,包括联机 F1 主题、搜索、索引以及联机或脱机使用目录的能力。有关本文档库改进功能的更多信息,请单击右侧的链接或访问新增功能页面。”
下面是MSDN的截图:
 
有没有想过为你的程序也生成类似的文档便于别的开发阅读你提供的类库的API文档呢?早期的开发人员可能知道NDoc这个工具,这是一个类似于JavaDoc的工具,它能将程序代码中的XML注释提取出来生成帮助文档,非常方便。
什么?你不知道什么是XML注释?看下图:
 
XML注释可以在别人在VS中编写代码获得智能感知效果时看到,如下图:
 
有 时候因为某些原因不能提供程序源代码,这样就不能方便查看类库中的类和对应的方法了。早期的.net开发人员可以用NDoc来生成类库的API文档,不过 NDoc不支持.net 2.0了(据说是作者知道微软要推出类似的工具停止了更新的),网上虽然有一些在NDoc的基础上开发的支持.net 2.0的版本,但是在使用过程中偶尔会出现一些问题。
微软推出了一款小软件就支持这种功能,支持生成CHM格式或者Hxs格式的文档,这款软件就是Sandcastle,它可以从http://download.codeplex.com网站上下载,下载地址是:
http://sandcastle.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=13873(如果英文不好的朋友可可以在http://download.csdn.net/zhoufoxcn下载)
从 网上下载这个软件之后采用默认安装之后(假设默认安装在C:\Program Files目录下),在其安装目录下的Examples\generic会看到一个名为SandcastleGui.exe的文件,这个文件就是 Sandcastle的图形化用户界面。这个软件的界面很简单,如下图所示:
 
Sandcastle 是根据程序集和对应的XML注释文档来生成帮助文档的。不过在默认情况下是不会生成程序的XML注释文档的,需要在VS中做一下配置,在要生成帮助文档的 项目上点击鼠标右键然后选择查看属性,这样就会出现项目属性配置界面,再点击“生成”选项卡,如下图所示:
 
选择XML文档注释,这样每次编译成功时就会生成相应的XML文档注释,默认是与生成的程序集文件在同一个目录下。
运行Sandcastle,分别添加程序集和XML文档注释,如果程序集有依赖的程序也添加一下,并且填写保存文件的名称,如果没有问题的话就会生成相应的API文档了,如果有问题就会在日志窗口看到错误信息,如下图所示。
 
从 上图窗口中可以成功生成了NS.Common.chm文档,文档路径为:c:\Program Files\Sandcastle\Examples\NS.Common\vs2005\chm\NS.Common.chm,大小为126,213 bytes。打开c:\Program Files\Sandcastle\Examples\NS.Common\vs2005\chm\文件夹,确实可以看到一个chm文件,打开这个chm 文件,会看到如下效果:
 
看到这个界面是不是跟MSDN有些相似呢?至此,大功告成了。顺便提一下,这个软件是公开源代码的,如果有那位朋友有兴趣和时间并且English不错的话,可以将它汉化成中文的那就更好了,不过这个工具操作非常简单,即使不汉化也容易上手。

注:Sandcastle 支持将多个程序集的XML文档注释生成一个chm文件的功能,可以将多个程序集和对应XML文档注释分别放在两个文件夹下,然后用AddFolder功能 一次性将文件夹下的文件添加到项目中,这样就可以将多个程序集的XML注释合并生成一个CHM文档了。




















本文转自周金桥51CTO博客,原文链接: http://blog.51cto.com/zhoufoxcn/162935,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10004 0
如何生成RSA2密钥
密钥文件说明:    1、rsa_private_key.pem:原始私钥(又称pkcs1私钥),适用于非Java开发语言;  2、rsa_private_key_pkcs8.pem:pkcs8私钥,适用于Java开发语言;  3、rsa_public_key.pem:商户公钥,需上传至应用中加签方式的应用公钥位置。
901 0
如何生成RSA,RSA2密钥
密钥生成或如何使用(创建应用):[url]https://openclub.alipay.com/read.php?tid=1606&fid=72[/url] 1.密钥生成工具下载:[url]https://docs.
774 0
如何让接口文档自动生成,SpringBoot中Swagger的使用
在开发过程中,java后端需要与客户端进行交互,需要将后端的接口及参数写成文档给调用者查阅。一个问题也有此而生,需求改动频繁,接口设计也会随之改动,文档修改的不及时会带来很大的问题。 Swagger是一个自动生成文档的工具,可以在线查阅文档,减少了开发人员的负担,下面我们就来看看如何在SpringBoot中使用Swagger。
989 0
Java基础-08总结帮助文档,代码块,继承
1:如何制作帮助文档(了解)(1)写一个类(2)加入文档注释(3)通过javadoc工具生成即可javadoc -d 目录 -author -version ArrayTool.java /*我想要对数组进行操作在同一个文件夹下,类定义在两个文件中和定义在一个文件中其实一样的。 */ class ArrayDemo {public static void main(String[]
1154 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10880 0
jQuery EasyUI API 中文文档 - 日历(Calendar)
Calendar 日历 用 $.fn.calendar.defaults 重写了 defaults。 用法 1. 1. $('#cc').calendar({   2.     width:600,   3.     height:600,   4.     current:new Date()   5. });  特性 名称 类型 说明 默认值 width number 日历组件的宽度。
583 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13802 0
+关注
10146
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载
《2021云上架构与运维峰会演讲合集》
立即下载