在.NET4.0下運行.NET2.0程序集

        微軟發佈的dotnetfx2.0是相當成功的開發框架,由此產生了大量基於.NET2.0的應用,微軟後來發佈的dotnetfx3.0及dotnetfx3.5都是對2.0的擴展,並添加了很多新的特性(如:linq、wpf、wcf、wwf、Lambda、類型推斷及簡化的語法等),但礙於龐大的dotnetfx3.5安裝部署都十分困難,dotnetfx2.0應用依然十分普遍。幾個月以前微軟發佈了dotnetfx4.0,其強大的功能讓dotnetfx2.0的優勢消失殆盡,很多新的應用開發已經從.NET4.0開始了。由於.NET4.0使用全新的CLR,因此基於.NET2.0的程序集並不能直接在.NET4.0框架下運行,此時大量的基於dotnetfx2.0應用的升級就成了問題。

       雖然不能直接向下兼容,但微軟已經提供了比較好的兼容性解決方案:運行時目標版本激活策略。基於.NET2.0的應用程序和程序集只要在配置文件中聲明運行時版本即可在新的框架下運行。對於此解決方案的官方說明在http://msdn.microsoft.com/zh-cn/library/bbx34a2h.aspx

設置方法:在缺省配置文件的根元素configuration下添加以下聲明( 桌面應用程序爲App.config、Web應用程序爲Web.config):

   1:  <startup useLegacyV2RuntimeActivationPolicy="true">
   2:      <supportedRuntime version="v4.0"/>
   3:  startup>

        這裏Web應用程序的環境配置要複雜一些。當然首先要安裝dotnetfx4.0,如果是先安裝了IIS,則需要手動註冊IIS,註冊命令:

%windows%/Microsoft.NET/Framework/<版本號>/aspnet_regiis.exe -i

如果是服務器版操作系統,則IIS中還有“Web服務擴展”選項,在選項中啓用ASP.NET v4.0.30319服務擴展;然後在站點的屬性中修改ASP .NET版本爲v4.0.30319,至此,基於.NET2.0的應用程序就可以在.NET4.0下和WCF、linq等新功能一起運行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章