如果构建版本和修订版本号发生更改,CLR如何处理程序集绑定和从GAC加载的问题。大会有四个部分[专业]。[小]。[建筑]。[修订]。我知道如果Major和Minor发生更改,您需要发布者策略才能从GAC中找到较新版本的程序集。如果生成版本或修订版本号更改会怎样?在我的下面的情况下,它不适用于构建和修订更新。定位GAC程序集,如果只有构建版本或修订版本号发生更改
在我的应用程序中,我的程序集信息为[1.0。*],所以TFS在每个版本上以增量方式构建[[1.0.5414.23455]]数字的程序集。 TFS每天都会生成项目并生成具有增量构建和修订版本号的组件。这是预期的行为,因为我在AssemblyInfo文件中指出了通配符[1.0。*]。
现在,我有客户端应用程序是针对我的应用程序版本[1.0.5414.23455]构建的。我正在使用安装程序将我的应用程序部署到GAC。现在,如果GAC具有应用程序集版本[1.0.5414.23455],但如果我在GAC中安装了更新版本(技术上没有任何更改,只是新的每晚构建版本)[1.0.5414.23456],则客户端应用程序工作正常,客户端应用程序将不会加载此新版本。
我指的是一些Microsoft博客/文档,发现只要主要和次要数字相同,客户端应用程序应该能够从GAC加载程序集。从GAC中查找组件时,构建和修订号码不是强制性检查。
构建版本号和版本号变更对从GAC定位汇编没有任何影响,是否正确?
在此先感谢。
你是如何强大的命名你的程序集? – user1620220 2014-12-02 16:56:54
使用强名称密钥文件和通过Visual Studio属性分配的标准方式。 – 2014-12-02 17:03:14
所有4个数字都是相关的并且被检查。因此,只需更改构建版本或修订版就足以迫使您使用bindingRedirect或发布者策略。您绝对不想在GAC中存储具有自动生成版本号的程序集,这样会造成太多污染和头痛。只能在用户的机器上使用GAC。看看“语义版本控制”。 – 2014-12-02 17:17:33