在野田时间,我们使用Sandcastle和SHFB生成我们的文档。然后我们将文档提交回源代码库 - 主要是因为这使得查看最新(和历史)文档变得容易。如何找出导致Sandcastle文档生成差异的原因?
我是这个项目的主要开发人员,但我使用了两台电脑 - 不幸的是,目前他们正在构建不同的文档,即使它们都更新到同一个源文件。
两台计算机是我能想到的每一个重要的方式是相同的:
- 沙堡2.7.2.0
- SHFB 1.9.6.0
- VS 2012专业版(两者上报的版本11.0.50727.1在“程序”,包括“关于”页面中的“版本11.0.51106.01更新1”)
- .NET Framework 4.5的本地帮助内容的最新版本(其他框架版本没有本地帮助内容)
措施,确保干净的构建:
- 删除
- 删除生成的文件的文件夹为
- 删除相关SHFB项目文件的用户设置文件SHFB缓存文件夹(
C:\Users\Jon\AppData\Local\EWSoftware\Sandcastle Help File Builder\Cache
) - 删除Visual Studio中的符号缓存
仍然分歧依然存在。它们似乎仅限于从MSDN本身继承的文档,特别是Object.Finalize
。
版本1(机 “丘比” 上生成的):
<div class="summary">Allows an object to try to free resources and perform
other cleanup operations before it is reclaimed by garbage collection.</div>
2版(机 “桑迪” 上生成的):
<div class="summary">Allows an <a
href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">
Object</a> to attempt to free resources and perform other cleanup operations
before the <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b"
target="_blank">Object</a> is reclaimed by garbage collection.</div>
两个链接到相同的MSDN文档,它看起来像版本1(没有链接到Object
)。
查看一些已更改的文件,更改是一致的并且仅限于此成员。
Sandcastle从哪里得到这个文档,我怎样才能使两台计算机的行为方式相同?
编辑:一种信息多种片段 - 清除缓存,并在两台机器上重建文档后,有三个文件SHFB缓存目录:
- Reflection.cache有两台机器相同的大小
- MsdnUrl.cache在两台机器上具有相同的大小
- .NETFramework_4.0.0319_E8879A28。缓存在Chubby上的大小为13,377,733字节,在Sandy上为13,337,949字节
编辑:显着的进展!我发现其中的差异可能是来自哪里...
文件c:\Windows\Microsoft.NET\Framework\v2.0.50727\en\mscorlib.xml
:
- 在小胖是8005263个字节,2011年12月12日的日期,并具有
Finalize
非链接的文本 - 在桑迪是9740370个字节,2009年8月31日的日期,并具有
Finalize
文本,其中包括链接
在两台机器上,mscorlib.dll
本身是相同的尺寸(4,550 ,656个字节),并有9月13日2012年
但我怎么可以让他们相同的修改日期?这种差异从哪里来? (Service packs?)
编辑:好的,在c:\Windows
版本是一个红色的鲱鱼 - 它是在c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
这是怪罪的版本。我要看看我能不能找出原因,可能是设备之间的不同...
你肯定确定在SC可执行文件的路径中没有另一个版本?嗯,有没有可用于Windows的Unix“which”命令? – larsw 2013-02-16 19:33:31
@larsw:这里只有一个SandcastleHelpFileBuilder.targets每台机器:( – 2013-02-16 19:39:03
可能的差别是对文件,因为这是安装一台机器上的任何Windows系统/.NET升级/补丁,但不是在其他你安装所有的礼物吗?两台机器上的.NET框架版本以相同的方式? – stakx 2013-02-16 20:57:53