作者: zyl910

一、缘由

“Sandcastle Help File Builder”(简称SHFB)是一个很好用.NET 帮助文档生成工具。
但它的每个版本支持的VS版本范围有限,且官网没有明确说明它与VS版本的区别。导致经常出现“明明装了SHFB,但VS打开不了它的项目”问题。
这时只有逐个版本安装尝试了。而GitHub下载速度慢,导致要花很久时间才能找到合适的版本。于是我做了一次完整的实验,有了一些心得。

二、心得

2.1 尝试安装2个版本

最初曾经试过安装2个版本的办法——

  1. “先安装旧版本SHFB,再安装新版本SHFB”的办法无效。系统中只能存在一个SHFB版本,安装新版本后,旧版本会被覆盖掉。导致还是仅支持新版本的VS范围。
  2. “先安装旧版本SHFB,再安装新版本的vsix”的办法无效。低版本VS编译正常,高版本VS虽然能打开SHFB项目,但无法编译,提示需要升级SHFB。
  3. “先安装新版本SHFB,再安装旧版本的vsix”的办法无效。高版本VS编译正常,低版本VS虽然能打开SHFB项目,但无法编译,提示.NET版本问题等错误。
  4. “先安装旧版本SHFB,先安装新版本SHFB,再安装旧版本的vsix”的办法无效。高版本VS编译正常,低版本VS虽然能打开SHFB项目,但无法编译,提示.NET版本问题等错误。

该思路不行。看来只能挑一个版本了。

2.2 版本选择

逐个安装测试了SHFB对VS的支持范围——

  • SHFBGuidedInstaller_2015.01.12.0: 支持VS2010~VS2013 及 VS2015预览版。shfb.codeplex.com的最后版本。
  • SHFBInstaller_v2015.5.2.0: 支持VS2010~VS2015。【注意】该版本是支持VS2010的最后一个版本。
  • SHFBInstaller_v2015.7.25.0: 支持VS2013~VS2015。【注意】该版本不再支持VS2010、VS2012。
  • SHFBInstaller_v2016.4.9.0: 支持VS2013~VS2015。
  • SHFBInstaller_v2016.5.28.0: 支持VS2013~VS2015 及 VS2017预览版。
  • SHFBInstaller_v2016.9.17.0: 支持VS2013~VS2015 及 VS2017预览版。
  • SHFBInstaller_v20171.28.0: 支持VS2015 及 VS2017预览版。【注意】该版本是支持VS2013的最后一个版本。
  • SHFBInstaller_v2017.5.15.0: 支持VS2015 及 VS2017(但实测发现其对VS2017支持还有很多问题)。【注意】该版本不再支持VS2013。

目前主要是 VS2010、VS2015这2个版本的使用率较高,故应选择“SHFBInstaller_v2015.5.2.0”。

2.3 打开SHFB高版本项目文件问题

上一节说我们选定了“SHFBInstaller_v2015.5.2.0”这个版本。但当遇到高版本的SHFB项目文件时,该怎么办呢?

首先,尝试安装2个版本的办法是行不通的,详见“2.1 尝试安装2个版本”。

办法是——

  • 用文本编辑器打开shfbproj文件,将SHFBSchemaVersion的值改为“1.9.9.0”(例如将 <SHFBSchemaVersion>2015.6.5.0</SHFBSchemaVersion> 改为 <SHFBSchemaVersion>1.9.9.0</SHFBSchemaVersion> )。

修改了版本之后,一般就能用“SHFBInstaller_v2015.5.2.0”正常处理了。

参考文献

SHFBInstaller_v2015.5.2.0.zip
http://pan.baidu.com/s/1sltz2PZ

Sandcastle Help File Builder(.NET帮助文档工具)的版本选择心得——支持VS2010至VS2015,高版本项目文件问题的更多相关文章

  1. Sandcastle Help File Builder 生成NET帮助文档

    Sandcastle是微软提供的一个根据XML注释和DLL文件生成帮助文件的工具,目前是在CodePlex上的一个开源项目,可以去这里下载:Sandcastle Sandcastle生成的输出结果具有 ...

  2. 生成chm文档工具- Sandcastle -摘自网络

    Sandcastle是微软官方的文档生成工具,NDoc开发停止后,这个貌似也是唯一的一个这方面的工具.它从dll文件及其xml注释文件能够 生成完整的帮助文档,支持多种生成格式(Helpe1x:chm ...

  3. 文档生成工具Sandcastle Help File Builder

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

  4. 使用SHFB(Sandcastle Help File Builder)建立MSDN风格的代码文档

    使用SHFB(Sandcastle Help File Builder)建立MSDN风格的代码文档 下载地址:http://sandcastle.codeplex.com/ 下载地址2:http:// ...

  5. 使用 Sandcastle Help File Builder 制作文档

    1.下载安装 Sandcastle 程序. http://download-codeplex.sec.s-msft.com/Download/Release?ProjectName=shfb& ...

  6. Sandcastle入门:创建C#帮助文档

    Sandcastle入门:创建C#帮助文档 今天学到了一个东西:利用vs2005生成的dll/xml来生成帮助文档. 完成这个伟大任务的是Sandcastle,微软推出的类库文档编译工具. 在开始这篇 ...

  7. Sandcastle Help File Builder使用教程

    Sandcastle Help File Builder相信很多的园友用过,小弟我最近因为工作原因需要生成公司的一套SDK的帮助文档,因此找了一些资料,发现网上的资料很多,但是都不怎么完全,有些只是随 ...

  8. 使用Sandcastle 基于代码注释生成接口文档

    一. 工具下载: 1. Sandcastle:Sandcastle是微软官方的文档生成工具,下载地址:http://www.codeplex.com/Sandcastle 2. SHFBGuidedI ...

  9. API文档工具-Swagger的集成

    最近安装了API文档工具swagger,因为Github上已有详细安装教程,且安装过程中没有碰到大的阻碍,所以此文仅对这次安装做一份大致记录 相关网站 Swagger 官方地址: http://swa ...

随机推荐

  1. 034 Maven中的dependencyManagement和dependencies区别

    这个标签使用过,但是具体的描述还是没有说明过.在这里,专门查了一下,写了这篇文章. 1.定义 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管 ...

  2. 用yield写协程实现生产者消费者

    思路: yield可以使得函数阻塞,next,和send可以解阻塞,实现数据不竞争的生产者消费者模式 代码: import random #随机数,模拟生产者的制造物 def eat(): #消费者 ...

  3. 006.Ceph对象存储基础使用

    一 Ceph文件系统 1.1 概述 Ceph 对象网关是一个构建在 librados 之上的对象存储接口,它为应用程序访问Ceph 存储集群提供了一个 RESTful 风格的网关 . Ceph 对象存 ...

  4. String、StringBuffer、StringBuilder的比较

    看String类的定义:public final class String...{private final char value[];} 看AbstractStringBuilder类的定义:abs ...

  5. Adobe Premiere Pro生成峰值文件假死

    一.正文 使用Adobe的Premiere Pro CC进行视频剪辑制作的时候,有的时候在右下角总会出现一个“自动生成峰值文件”的提示符,并跟随一个进度条: 大部分时候,这并不会引起什么问题.虽然我也 ...

  6. emitted value instead of an instance of error the scope attribute for scoped slots webpack babel polyfill

    api20180803.vue emitted value instead of an instance of error the scope attribute for scoped slots h ...

  7. 1014 Uniform Generator ACM

    http://acm.hdu.edu.cn/showproblem.php?pid=1014 题目的英文实在是太多了 ,搞不懂. 最后才知道是用公式seed(x+1) = [seed(x) + STE ...

  8. C++ Primer 与“类”有关的注意事项总结

    C++ 与"类"有关的注意事项总结(一) 1. 除了静态 static 数据成员外,数据成员不能在类体中被显式地初始化. 例如 : class First { int memi = ...

  9. python网络编程(八)

    单进程服务器 1. 完成一个简单的TCP服务器 from socket import * serSocket = socket(AF_INET, SOCK_STREAM) # 重复使用绑定的信息 se ...

  10. 小甲鱼Python第四讲课后习题

    1while语句中,当条件为真时,它会一直循环下去,比如下面的例子,不过可以用Ctral + C来强制结束 while 'C': print("i love you") 2.观察打 ...