Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3 Tools Update
ASP.NET MVC 3 can be installed side by side with ASP.NET MVC 2 on the same computer, which gives you flexibility in choosing when to upgrade an ASP.NET MVC 2 application to ASP.NET MVC 3.
ASP.NET MVC 3可以與ASP.NET
MVC 2同時安裝在同一台電腦上,讓你可以靈活地選擇何時升級ASP.NET MVC 2應用程序到ASP.NET
MVC 3版本。
To manually upgrade an existing ASP.NET MVC 2 application to version 3, do the following: 若要手動升級版本,執行以下操作
- 在電腦上新建一個空的ASP.NET MVC 3項目。此項目包含一些升級所必須的文件。
- 從 下面的ASP.NET
MVC 3 項目中的文件復制到您的 ASP.NET MVC 2 項目的相應位置中。你需要更改所有對jQuery library的引用去適應新的文件名( jQuery-1.5.1.js)- /Views/Web.config
- /packages.config
- /scripts/*.js
- /Content/themes/*.*
- 復制空ASP.NET MVC 3項目的packages文件夾到你自己解決方案根目錄里(.sln文件所在的目錄)
- 復制MVC2 項目 \bin 下的所有文件 到packages文件夾。
- 如果你的ASP.NET MVC 2項目包含了其他區域,復制/Views/Web.config文件到所有區域的Views文件夾目錄下
- 在ASP.NET MVC 2 Web項目中的Web.config 文件內,在全局范圍內搜索並替換的ASP.NET MVC 的版本號。找到以下內容:
System.Web.Mvc, Version=2.0.0.0Replace it with the following: 作如下修改
System.Web.Mvc, Version=3.0.0.0 - 在應用程序的根目錄下的Web.config文件中添加以下設定到 assemblies section
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - 在解決方案資源管理器中刪除(指向版本2的動態鏈接庫的)對System.Web.Mvc的引用,然后添加一個對System.Web.Mvc(版本3)的引用
- Web.config中添加對System.Web.WebPages.dll 和 System.Web.Helpers.dll的引用。這些程序集位於下面的文件夾:
- %ProgramFiles%\ Microsoft ASP.NET\ASP.NET MVC 3\Assemblies
- %ProgramFiles%\ Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies
-
- MVC 2框架下編譯的第三方庫,在Web項目中的Web.config文件的configuration section下添加下面高亮的bindingRedirect 元素
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/> <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/> </dependentAssembly> </assemblyBinding> </runtime> -
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
- MVC 2框架下編譯的第三方庫,在Web項目中的Web.config文件的configuration section下添加下面高亮的bindingRedirect 元素
- 編輯Web項目的 項目名.csproj 這個文件找到ProjectTypeGuids標記,
並將{F85E285D-A4E0-4152-9332-AB1D724D3325}替換成 {E53F8FEA-EAE0-44A6-8774-FFD645390401} - 對比MVC5 Web項目 下的.csproj 和MVC2 Web項目下的.csproj文件,將可能的不同都修改一下
- 修改改 Reference 的路徑到 Packages
- 保存修改,再次右擊項目,然后選擇重載項目
- http://files.cnblogs.com/files/xdot/csprojDif.rar
