我们有一个版本1.0.1。*的dll,它被许多应用程序使用,它们自己在不同的机器上运行。此dll驻留在运行应用程序的计算机的GAC中。该应用程序包含此dll作为参考,“Specific Version”设置为false。我们已经提出了这个dll的版本1.0.2。*向后兼容。
是否有办法部署新的dll并要求所有应用程序选择最新版本而无需重新编译应用程序。我知道使用Publisher Policy的程序集重定向。还有另一种方式吗?
答案 0 :(得分:2)
您可以在web.config中添加新的AssemblyBinding元素:
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral" />
<bindingRedirect oldVersion="1.0.0.0-2.1.1.4000" newVersion="2.1.2.4000" />
</dependentAssembly>
答案 1 :(得分:2)
发布商政策明确设计用于执行此操作,而不是考虑它来解决您的问题没有多大意义。鉴于您的更新是“向后兼容的”,一个没有麻烦的方法是简单地不更改[AssemblyVersion]但只增加[AssemblyFileVersion]。