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

作者: 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现步骤: 第一:把生成帮助的工程的属性做下修改,右键工程,属性,生成,下面的输出框中有一个生成XML文件选项,打勾。文件会把工程中所有类,方法,属性上的注释保存下来。 第二:启动shfb,然后新建一个工程,名称可以随意指定。这里主要说说几个比较重要的属性设置问题: 1:Documentation Sources,是需要生成详细注释的工程。如果最外层工程有对其它工程的引用,而且我们希望看到所有引用的类,就需要把所有被引用的工程都添加进来。否则用户点击外层类时,被引用的类上面不会有链接,即我们看不到被引用类的内容。 2:References:设置一些工程的依赖项。 3:FrameworkVersion: 选择对应的Framework版本 ,最新版的shfb的默认设置是.net 3.5。 4:HelpFileFormat : 选择需要生成的文档的格式. 这里选定的格式要在下面对应的地方进行设置。对于不同的格式还需要安装不同的编译工具 Helpe1x(chm)需要安装Microsoft HTML Help,Helper2x(Hxs)需要安装 Hxcomp. 5:NamespaceSummaries: 选择需要生成的命名空间,直接点击开窗选择。 6:Lanugages :语言,如果文档中有中文,最好选择中文。 7:CopyrightHref:版权链接,例如http://www.xxx.com/ 8:CopyrightText: 版权文字 ,xx公司所有 9:HelpTitle: 文档标题 10:HtmlHelpName:文档生成文件名称 11:PresentationStyle: 支持vs 2005,Prototype等格式 ,根据自己需要选择 12: OutputPath:生成路径,即最后chm文件存放位置,当然除了CHM还有些其它文件。 13:HtmlHelp1xCompilerPath:可以自定义html help的安装路径。 14:SandcastlePath:可以自定义sandcastel的安装路径。 到此,我们就可以点击软件窗口上的buile the help file按钮,就可以按预期进行生成文档了。如果没有特殊情况,运行期间不会发生任何错误,我们会成功的在输出目录中发现chm文件,但有些情况还是需要注意一下的: 第一:在添加Documentation Sources时,不能在路径中包含.h的字样,例如.Hotel.Host\bin这种路径是不合法的,最后hhc软件会报错。 第二:References项中不能存在重复项。
这段代码的作用是添加一个名为"Per-feature selection"的按钮到Cesium Sandcastle的界面中,并设置初始状态为false。当按钮被选中时,变量`picking`的值将被设置为true,同时调用`unselectFeature`函数取消当前选中的实体。 如果你想在自己的项目中使用这段代码,可以按照以下步骤进行: 1. 在Vue组件中引入Cesium Sandcastle的JS文件。 ```javascript import Cesium from 'cesium/Source/Cesium' ``` 2. 在Vue组件的`mounted`或`created`钩子函数中,使用`Cesium.Sandcastle`对象调用`addToggleButton`方法添加一个按钮。 ```javascript mounted() { Cesium.Sandcastle.addToggleButton('Per-feature selection', false, function(checked) { // 当按钮被选中时执行的函数 picking = checked; if (!picking) { unselectFeature(selectedFeature); } }); } ``` 其中,第一个参数为按钮的名称,第二个参数为按钮的初始状态(true或false),第三个参数为按钮被选中时执行的函数。 注意,这段代码中的`picking`和`selectedFeature`变量需要根据具体的实现进行定义。同时,`unselectFeature`函数也需要定义或者替换成自己的逻辑。 另外,如果你的项目中没有引入`Cesium.js`文件,也需要在HTML文件中添加相关的链接,如下所示: ```html <!DOCTYPE html> <html> <head> <!-- ... --> <link rel="stylesheet" href="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Widgets/widgets.css"> </head> <body> <div id="app"></div> <script src="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Cesium.js"></script> </body> </html> ``` 希望这些信息能帮助你使用Cesium Sandcastle

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值