【发布时间】:2012-04-07 04:44:16
【问题描述】:
我遇到了这样一种情况,即两台机器在 GAC 中都具有相同版本和公钥的“microsoft.teamfoundation.testmanagement.client.dll”。但是,它们所包含的内容有所不同。较新的有额外的类(例如 BuildCoverage)。为什么在版本和公钥保持不变的情况下,dll的内容会发生变化?这是常见的做法吗?
【问题讨论】:
标签: tfs assemblies gac
我遇到了这样一种情况,即两台机器在 GAC 中都具有相同版本和公钥的“microsoft.teamfoundation.testmanagement.client.dll”。但是,它们所包含的内容有所不同。较新的有额外的类(例如 BuildCoverage)。为什么在版本和公钥保持不变的情况下,dll的内容会发生变化?这是常见的做法吗?
【问题讨论】:
标签: tfs assemblies gac
更新 AssemblyFileVersion 但不更新 AssemblyVersion 属性是很正常的。例如,这就是 .NET 的修补程序的发布方式。关键是测试程序集的地狱,以确保它完全向后兼容以防止 DLL 地狱。
【讨论】:
我不知道这是否是常见做法,但有时在对 GAC 程序集进行“就地”小更新以热修复错误期间,AssemblyVersion(用于强命名)不会增加.通过命令提示符导航到文件然后检查它的属性来检查实际的文件版本。看看那里的文件之间是否存在差异。这应该表明它们之间的实际内部版本号是否不同。我敢打赌,一个小型 VS 修补程序已应用于一个而不是另一个。
【讨论】: