程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 讓你的.NET程序兼容不同版本的Dll文件

讓你的.NET程序兼容不同版本的Dll文件

編輯:.NET實例教程
     前段時間寫的一個WinForm的.Net程序。因為引用了不少的庫文件,但是最近這些庫文件因為修正了一些Bug和算法。但是主的程序文件沒有怎麼改動。所以就不像把這個主程序重新編譯了。於是就把所有的新版DLL文件拷貝到運行目錄下,希望主程序能夠直接調用新版的庫文件。結果發現原來這些庫文件都用Strong Name簽了名的。主程序一調用就出錯,說找不到該版本的文件。
  
  後來查了一下MSDN,發現只要在config裡面加入runtime節點就可以了。
  
   <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簽名的話,就不用考慮版本問題了。 
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved