2011-03-02 34 views
4

我們有一個版本爲1.0.1。*的dll,它被許多應用程序使用,它們本身運行在不同的機器上。這個DLL駐留在運行應用程序的機器的GAC中。該應用程序包含此dll作爲「特定版本」設置爲false的參考。我們已經想出了1.0.2這個dll版本,它是向後兼容的。總是從GAC中獲取最新的dll

是否有辦法部署新的DLL並要​​求所有應用程序選擇最新版本而無需重新編譯應用程序。我知道使用發佈者策略的程序集重定向。有另一種方法嗎?

回答

2

出版者政策明確設計要做到這一點,不考慮它來解決你的問題並沒有做出很大的意義。考慮到你的更新是'向後兼容'的,一個沒有麻煩的方法就是不改變[AssemblyVersion],而只增加[AssemblyFileVersion]。

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>