当前位置: 首页 > news >正文

将C#文档注释生成.chm帮助文档

由于最近需要把以前的一个项目写一个文档,但一时又不知道写成怎样的,又恰好发现了可以生成chm的工具,于是乎我就研究了下,感觉还不错,所以也给大家分享下。好了,不多废话,下面就来实现一下吧。

生成前的准备

在开始做之前,还是要补充说明一点:我们是通过C#文档注释生成的XML文件来生成帮助文档的。因此,第一步就是生成XML文档:

具体步骤:打开VS->随意创建一个项目(这里我用的是控制台项目),然后添加如下内容:

复制代码
复制代码
/// <summary>
   /// 人类
   /// </summary>
   public  class Person
    {
       /// <summary>
       /// 姓名
       /// </summary>
        public string  Name { get; set; }
        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }
        /// <summary>
        /// 自我介绍
        /// </summary>
        /// <param name="name">姓名</param>
        /// <param name="age">年龄</param>
        /// <returns>自我介绍的内容</returns>
        public string Say(string name,string age )
        {
            return "My name is" + name + ",Age:" + age;
        }
    }
复制代码
复制代码

很普通的一个类,但是要注意下注释部分,这里的注释是文档(不同于”//”的注释,在VS中敲“///”就是文档注释)

PS:注意,我这里Person类的访问修饰符是public,由于我这里只用了一 个类,如果不加public就会出现“No APIs found to document. See error topic in help file for details.”的错误。

继续之前的操作:右击程序集选择属性,选中XML文档文件:

QQ截图20140316161858

保存,编译,然后在项目的bin\Debug目录下你就会看到生成的xml文件:

image

生成chm文档工具介绍

Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具。它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm, Helper2x:Hxs, Website,HelperView),结合新发布的Sandcastle Help File Builder可视化工具,整个生成过程十分简单,而且SHFB工具看起来很强大,不仅能够直接配置生成文档的各个属性,而且还支持很灵活的扩展设置,为 我们提供完美的.NET类库文档成为一个可能。

从这里下载工具:

Sandcastle:http://sandcastle.codeplex.com/,点击右侧的download大家都懂的。

Sandcastle Help File Builder:http://shfb.codeplex.com/

在SHFB的压缩包里我发现了一个VS插件,因此接下来我就打算用VS来演示,如果不想装这个插件的话,可以运行C:\Program Files (x86)\EWSoftware\Sandcastle Help File Builder\SandcastleBuilderGUI.exe这个程序,结果都是一样的

生成chm文档

重头戏来了,打开VS,新建项目:

image

点确定,右侧项目结构:

image

选择ContentLayout.content,看左边,这里有一些文档属性以及版本号等信息,但是我们这里用不到,因此删掉。如果留着也没事,就是在生成文档的时候头部多了几行而已,有兴趣的朋友可以继续研究。

image

选择要生成文档的程序集(对应的XML会自动添加),

image

 

右击项目选择属性:

QQ截图20140316165603

到这里为止可谓是万事俱备,只欠东风。那么,东风在哪里呢?很简单,生成项目。如果在生成的过程中没有错误的话,那么在项目目录的Help文件夹下你就会看到:

image

打开测试文档:

image

转自 :http://www.cnblogs.com/fzrain/p/3604550.html

转载于:https://www.cnblogs.com/joyang/p/5454162.html

相关文章:

  • 【VS开发】CListCtrl控件使用方法总结
  • python之路之正则表达式
  • 水平方向瀑布流
  • log4j配置概要
  • [Assignment] C++1
  • linux之GDB常用命令汇总
  • uva1368DNA consensus string统计
  • static关键字的使用总结
  • 设计模式学习-原型模式
  • Centos 基础开发环境搭建之Maven私服nexus
  • HDU 2098 分拆素数和
  • 设计模式——9.装饰模式
  • unable to start the virtual device;Genymotion启动安卓模拟器出错
  • MapReduce编程job概念原理
  • 转载 asp.net的Request.ServerVariables参数说明
  • Brief introduction of how to 'Call, Apply and Bind'
  • python3 使用 asyncio 代替线程
  • spring cloud gateway 源码解析(4)跨域问题处理
  • spring学习第二天
  • Terraform入门 - 3. 变更基础设施
  • Vue全家桶实现一个Web App
  • 服务器之间,相同帐号,实现免密钥登录
  • 高性能JavaScript阅读简记(三)
  • 构建二叉树进行数值数组的去重及优化
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 免费小说阅读小程序
  • 如何编写一个可升级的智能合约
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 温故知新之javascript面向对象
  • 我的面试准备过程--容器(更新中)
  • 用 Swift 编写面向协议的视图
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​ArcGIS Pro 如何批量删除字段
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Python) SOAP Web Service (HTTP POST)
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (原創) 未来三学期想要修的课 (日記)
  • (转)大型网站架构演变和知识体系
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 常见的偏门问题
  • .Net 代码性能 - (1)
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET框架类在ASP.NET中的使用(2) ——QA