方法一

前端时间在网上收集和自己平时工作总结整理了《干货,比较全面的c#.net公共帮助类》,整理完成上传github之后我又想,既然是帮助类,总得有个帮助文档于是乎想到了Sandcastle,Sandcastle貌似是微软官方目前唯一一个生成帮助文档这发面的工具。它可以配合Microsoft Visual Studio生成的dlll和xml注释文件生成完整的帮助文档。结合可视化工具Sandcastle Help File Builder,简单直接,还能生成各种属性的说明。支持Helpe1x:chm, Helper2x:Hxs, Website,HelperView等多种格式而且扩展灵活功能强大,下面我们就看一下怎样用Sandcastle生成chm文档。

一、下载

首先我们前往CodePlex下载Sandcastle,地址:http://sandcastle.codeplex.com/

然后下载Sandcastle Help File Builder,地址:http://shfb.codeplex.com/,点击右边download下载即可。

二、安装

Sandcastle,直接Next就可以了,Sandcastle Help File Builder要说一下的是,在MAML Schema IntelliSense for Visual Studio为vs安装插件的时候一定要勾选上,不然新建项目的时候会没有这个选项。

三、设置

在生成这里设置xml文档文件,保存,编译之后在你项目目录的bin\Debug就会看到生成的xml文件了。

四、新建项目documentation

首先 新建documentation项目,这里就是安装Sandcastle Help File Builder的时候勾选上vs的原因。如果没有勾选上,这里新建的时候没有这个选项的。

然后勾选上你刚才已经生成的dll和xml文件,右键属性如上图写上标题。编译生成即可。这里有一点要注意,可能会报错(SHFB: Error BE0037: Could not find the path the the HTML Help 1 compiler. See the error number topic in the help file for details.),是没有安装Microsoft HTML Help,当然你安装了之后可以跳过此步骤。

如果没有安装Microsoft HTML Help,我们到https://www.microsoft.com/en-us/download/details.aspx?id=21138去下载Microsoft HTML Help然后安装。

五、生成

如果没有报错,直接生成,然后我们项目目录的Help就可以看到生成的帮助文档了

是不是很简单。这样我们就生成了之前帮助类的帮助文档了。另外我再介绍几种生成帮助文档的方式。

方法二、cmd生成帮助文档

在Sandcastle和Sandcastle Help File Builder都安装好的前提下,在我们将步骤三生成的Common.Utility.dll 和Common.Utility.xml 拷贝至C:\Program Files (x86)\Sandcastle\Examples\Sandcastle(Sandcastle安装路径)下面。这种方法是一种批处理的方法,然后我们打开cmd,输入build_sandcastle.bat vs2005 Common.Utility 回车,然后进行批处理。我们会看到这目录下生成很多文件夹,如果过程没有报错,我们在chm 文件夹就会看到我们生成的帮助文档了。

方法三

我们根据上面的设置,然后引入Common.Utility.dll 和Common.Utility.xml,生成即可。相关设置参考:http://www.cnblogs.com/lonely7345/archive/2010/01/13/1647245.html

方法四、Sandcastle Help File Builder可视化工具

通过Sandcastle的图形操作界面。在C:\Program Files (x86)\Sandcastle\Examples\Generic\SandcastleGui.exe下打开如下界面。

根据图上相关设置然后点击Build按钮。即可生成帮助文档,是不是更方便简洁。当然前提是也是生成Common.Utility.dll 和Common.Utility.xml的情况下面。

如上四种方法生成帮助文档。至此c#.net帮助类告一段落。

github地址:https://github.com/Jimmey-Jiang喜欢点下star

四种Sandcastle方法生成c#.net帮助类帮助文档的更多相关文章

  1. 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core

    百度地图和高德地图坐标系的互相转换   GPS.谷歌.百度.高德坐标相互转换 一.在进行地图开发过程中,我们一般能接触到以下三种类型的地图坐标系: 1.WGS-84原始坐标系,一般用国际GPS纪录仪记 ...

  2. Sandcastle方法生成c#.net帮助类帮助文档chm

    Sandcastle方法生成c#.net帮助类帮助文档即chm后缀的文档,其实是通过C#文档注释生成的XML文件来生成帮助文档的.因此,第一步就是生成XML文档, 步骤1生成XML文档 1.打开VS- ...

  3. Django的POST请求时因为开启防止csrf,报403错误,及四种解决方法

    Django默认开启防止csrf(跨站点请求伪造)攻击,在post请求时,没有上传 csrf字段,导致校验失败,报403错误 解决方法1: 注释掉此段代码,即可. 缺点:导致Django项目完全无法防 ...

  4. C#四种深拷贝方法

    //四种深拷贝方法 public static T DeepCopyByReflect<T>(T obj) { //如果是字符串或值类型则直接返回 if (obj is string || ...

  5. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  6. CSS当中color的四种表示方法

    这是我的第一篇博客,所以写的东西会比较简单. css当中,好多地方都会用到color属性,用来使html内容丰富多彩,例如:background-color:border-color: 第一种表示法使 ...

  7. C语言中返回字符串函数的四种实现方法

    转自C语言中返回字符串函数的四种实现方法 其实就是要返回一个有效的指针,尾部变量退出后就无效了. 有四种方式: 1.使用堆空间,返回申请的堆地址,注意释放 2.函数参数传递指针,返回该指针 3.返回函 ...

  8. sass学习笔记 -- sass的四种编译方法

    sass的四种编译方法:(.scss) (一)ruby下的命令行编译 首先需要安装ruby,注意需勾选Add Ruby executables to your PATH选项,以添加环境变量. ruby ...

  9. HashMap的四种遍历方法,及效率比较(简单明了)

    https://yq.aliyun.com/ziliao/210955 public static void main(String[] args) { HashMap<Integer, Str ...

随机推荐

  1. 201521123082《Java程序设计》第3周学习总结

    201521123082<Java程序设计>第3周学习总结 标签(空格分隔): Java 1.本周学习总结 XMind图: 2.书面作业 Q1.代码阅读 public class Test ...

  2. 201521123038 《Java程序设计》 第十四周学习总结

    201521123038 <Java程序设计> 第十四周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 接口: DriverManager ...

  3. ztree 获取根节点

    function getRoot() { var treeObj = $.fn.zTree.getZTreeObj("tree-div"); //返回一个根节点 var node ...

  4. 存储过程重置SEQUENCE值从新开始。

    CREATE OR REPLACE PROCEDURE RESET_SEQUENCE( v_SeqName IN VARCHAR2, v_sqlcode OUT NUMBER, v_sqlerrm O ...

  5. linux crontab详解

    服务的启动和停止 cron服务是linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond ...

  6. centOS7网络配置(nmcli,bonding,网络组)

    关于网络接口命名 CentOS 6之前,网络接口使用连续号码命名: eth0. eth1等,当增加或删除网卡时,名称可能会发生变化.CentOS 7使用基于硬件,设备拓扑和设置类型命名. 网卡命名机制 ...

  7. 复用代码【SSH配置文件】

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...

  8. bookStore第二篇【图书模块、前台页面】

    图书模块 分析 在设计图书管理的时候,我们应该想到:图书和分类是有关系的.一个分类可以对应多本图书. 为什么要这样设计?这样更加人性化,用户在购买书籍的时候,用户能够查看相关分类后的图书,而不是全部图 ...

  9. Javascript跳转页面和打开新窗口等方法

    1.在原来的窗体中直接跳转用onClick="window.location.href='你所要跳转的页面';" 2.在新窗体中打开页面用:onclick="window ...

  10. [js高手之路]Node.js+jade+express+mongodb+mongoose+promise实现todolist

    promise主要是用来解决异步回调问题,其实还有好几种比promise更好的方案,后面再说,这节,我们先用promise来改造下,我以前写的一篇文章[js高手之路]javascript腾讯面试题学习 ...