轉:ASP.NET MVC3升級到ASP.NET MVC4

來源:互聯網
上載者:User

 由於要把之前升級成mvc4的項目改為mvc3,在google裡找的文章居然打不開,報串連重設,折騰半天好不容易有個串連能開啟,就趕緊轉過來了。那串guid實在是記不住啊。

至今,ASP.NET MVC 4已經發布了Beta版本,而正是版本很快也會發布,對於想把ASP.NET MVC 3 項目升級到ASP.NET MVC 4開發人員來說,這個升級項目也是個非常重要的問題。最大的擔心就是怕升級帶來其它問題,這種擔心可以理解,我們十分期待ASP.NET MVC 4的新特性,但是又擔心升級的巨大風險。

實際上,升級ASP.NET MVC 3到4沒有那麼複雜,完全可以手動完成,下面我們就來看看如何手工升級ASP.NET MVC 3項目:

一.安裝ASP.NET MVC 4,ASP.NET MVC 4 Beta發布,可以下載

二.升級ASP.NET MVC版本配置資訊:

     1:替換項目 Web.config 中的

    System.Web.Mvc, Version=3.0.0.0
    System.Web.WebPages, Version=1.0.0.0
    System.Web.Helpers, Version=1.0.0.0
    System.Web.WebPages.Razor, Version=1.0.0.0

    為最新4.0配置:
    System.Web.Mvc, Version=4.0.0.0
    System.Web.WebPages, Version=2.0.0.0
    System.Web.Helpers, Version=2.0.0.0,
      System.Web.WebPages.Razor, Version=2.0.0.0,

  2:在Web.config中升級ASP.NET配置為版本: "2.0.0.0" ,並添加個新的節點:PreserveLoginUrl ,值為 "true":

  <appSettings>
  <add key="webpages:Version" value="2.0.0.0"/>
  <add key="PreserveLoginUrl" value="true"/>
  <appSettings>

  3:在解決方案瀏覽器Solution Explorer中,引用最新的Solution Explorer, 刪除System.Web.Mvc System.Web.Mvc (v4.0.0.0).

        刪除引用:

  • System.Web.Mvc (v3.0.0.0)
  • System.Web.WebPages (v1.0.0.0)
  • System.Web.Razor (v1.0.0.0)
  • System.Web.WebPages.Deployment (v1.0.0.0)
  • System.Web.WebPages.Razor (v1.0.0.0)

        添加引用:

  • System.Web.Mvc (v4.0.0.0)
  • System.Web.WebPages (v2.0.0.0)
  • System.Web.Razor (v2.0.0.0)
  • System.Web.WebPages.Deployment (v2.0.0.0)
  • System.Web.WebPages.Razor (v2.0.0.0)

  4:

    在解決方案瀏覽器Solution Explorer,卸載當前項目,編輯ProjectName.csproj.

    找到ProjectTypeGuids 元素,並替換{E53F8FEA-EAE0-44A6-8774-FFD645390401} 為 {E3E379DF-F4C6-4180-9B81-6769533ABE47}.

    儲存修改,關閉(.csproj) 檔案,然後重新附加元件目.

  5:如果項目中有第三方組件引用了老版本的ASP.NET MVC, 可以在Web.config中加入三個 bindingRedirect元素

    <configuration>
    <!--... elements deleted for clarity ...-->
    <runtime>
    <assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirectold Version="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirectold Version="1.0.0.0-3.0.0.0" newVersion="4.0.0.0"/>
    </dependentAssembly>
    <dependentAssembly>
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
    <bindingRedirectold Version="1.0.0.0" newVersion="2.0.0.0"/>
    </dependentAssembly>
    </assemblyBinding>
    </runtime>
    </configuration>

   這樣升級就結束了。
  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.