讓你的.NET程序兼容不同版本的Dll文件
前段時間寫的一個WinForm的.NET程序。因為引用了不少的庫文件,但是最近這些庫文件因為修正了一些Bug和算法。但是主的程序文件沒有怎么改動。所以就不像把這個主程序重新編譯了。于是就把所有的新版DLL文件拷貝到運行目錄下,希望主程序能夠直接調用新版的庫文件。結果發(fā)現(xiàn)原來這些庫文件都用Strong Name簽了名的。主程序一調用就出錯,說找不到該版本的文件。
后來查了一下MSDN,發(fā)現(xiàn)只要在config里面加入runtime節(jié)點就可以了。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MyAssembly"
publicKeyToken="2b7c3a3291de04"
culture="neutral" />
<bindingRedirect oldVersion="3.0.0.8"
newVersion="4.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
不過這有個前提條件就是這兩個DLL的PublicKeyToken是一樣的,就是需要用同一個sn文件簽名的才行。
當然如果你的庫文件根本就沒有用Strong Name簽名的話,就不用考慮版本問題了。
相關文章
Asp.Net?Core使用Ocelot結合Consul實現(xiàn)服務注冊和發(fā)現(xiàn)
這篇文章介紹了Asp.Net?Core使用Ocelot結合Consul實現(xiàn)服務注冊和發(fā)現(xiàn)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查詢條件分頁
這篇文章主要介紹了MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查詢條件分頁,需要的朋友可以參考下2017-05-05
jQuery Data Linking 對象與對象之間屬性的關聯(lián)
ASP.NET團隊最近還向jQuery社區(qū)提交了被稱為data linking的技術,Data Linking可以幫助你實現(xiàn)對象與對象之間屬性的關聯(lián)——當其中一方發(fā)生改變時另一方也隨之改變。2010-12-12
.Net Core WebApi部署在Linux服務器上的方法
這篇文章主要介紹了.Net Core WebApi部署在Linux服務器上的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
.net Core 3.0 WebApi 創(chuàng)建Linux守護進程的方法
這篇文章主要介紹了.net Core 3.0 WebApi 創(chuàng)建Linux守護進程的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03

