若要將現有 ASP.NET MVC 2 應用程式手動升級到版本 3,需要執行如下操作步驟:
1. 在您的電腦上建立一個空的 ASP.NET MVC 3 項目。此項目將包含升級所需的一些檔案。
2. 將以下檔案從 ASP.NET MVC 3 項目複製到您的 ASP.NET MVC 2 項目的相應位置中。您將需要更新對 jQuery 庫的所有引用修改成新的庫的名字 (jQuery-1.5.1.js)【MVC裡使用的jQuery,帶有版本號碼,給省升級帶來了些麻煩】:
· /Views/Web.config
· /packages.config
· /scripts/*.js
· /Content/themes/*.*
3. 將空白 ASP.NET MVC 3 項目解決方案的根目錄中的 packages 檔案夾複製到您的解決方案的根目錄(位於 .sln 檔案所在的目錄中)中。
4. 如果你的 ASP.NET MVC 2 項目包含任何地區,則將 /Views/Web.config 檔案複製到每個Areas的 Views 檔案夾中。
5. 在 ASP.NET MVC 2 項目的兩個 Web.config 檔案中,全域搜尋並替換 ASP.NET MVC 版本。尋找以下內容:
System.Web.Mvc, Version=2.0.0.0
將其替換為以下內容:
System.Web.Mvc, Version=3.0.0.0
6. 在“方案總管”中,刪除對 System.Web.Mvc 的引用(其指向版本 2 中的 DLL),然後,添加對 System.Web.Mvc (v3.0.0.0) 的引用。
7. 添加對 System.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
8. 在“方案總管”中右擊項目名稱,然後選擇“卸載項目”。然後,再次右擊項目名稱,並選擇“編輯 項目名.csproj”。
9. 尋找 ProjectTypeGuids 元素並將 {F85E285D-A4E0-4152-9332-AB1D724D3325} 替換為 {E53F8FEA-EAE0-44A6-8774-FFD645390401}。
10. 儲存更改,右擊項目,然後選擇“重新附加元件目”。
11. 在應用程式的根 Web.config 檔案中,將以下設定添加到 assemblies 節中。
<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" />
12. 如果項目引用任何使用 ASP.NET MVC 2 編譯的第三方庫,則將以下反白的 bindingRedirect 元素添加到應用程式根目錄中的 Web.config 檔案的 configuration 節下面。
<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>
13.將相關依賴的項目中的MVC assembly
System.Web.Mvc, Version=2.0.0.0
將其替換為以下內容:
System.Web.Mvc, Version=3.0.0.0
ok大功告成可以這樣MVC2項目就成功升級到MVC3了。