1. 透過 Microsoft Web Platform Installer 安裝 MVC4 開發套件.
2. 備份既有的 MVC 3 專案.
- 透過 Microsoft Web Platform Installer 選取 "ASP.NET MVC 4 with Language Packs"進行安裝.(圖一)
- 按下 "我接受" 後開始安裝.
- 安裝完畢後, 電腦(64位元)中的 C:\Program Files (x86)\Microsoft ASP.NET\ 會多一個 ASP.NET MVC 4 的目錄; C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\ 目錄中會多一個 v2.0 的目錄.
此兩個目錄也表示了這次 MVC 4 主要是將 MVC 版本從 3.0.0.0 升到 4.0.0.0, Web Pages 從 1.0.0.0 升到 2.0.0.0. - 修改 Web 應用程式目錄中 Web.config:
- <appSettings>:
1. <add key="webpages:Version" value="1.0.0.0" />: 從1.0.0.0 升級為 2.0.0.0
2. 新增 <add key="webpages:Enabled" value="false" />
3. 新增 <add key="PreserveLoginUrl" value="true" /> - <system.web>/<compilation>/<assemblies>:
1. <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />: 從1.0.0.0 升級為 2.0.0.0
2. <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />: 從1.0.0.0 升級為 2.0.0.0
3. <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />: 從 3.0.0.0 升級為 4.0.0.0
- <appSettings>:
- 修改 Views/Web.config:
- <configSections>:
1. <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">: 從1.0.0.0 升級為 2.0.0.0
2. 將 <sectionGroup> 下的 host 與 pages 從1.0.0.0 升級為 2.0.0.0 - <system.web.webPages.razor>:
1. <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />: 從3.0.0.0 升級為 4.0.0.0
2. <pages>/<namespaces> 內新增 <add namespace="System.Web.Optimization"/> - <system.web>:
1. 將 <pages> 中的 pageParserFilterType, pageBaseType 與 userControlBaseType 從 3.0.0.0 升級到4.0.0.0
2. 將 <pages>/<controls> 下的 System.Web.Mvc 從 3.0.0.0 升級到4.0.0.0
- <configSections>:
- 如果還有另外客製化的 Web.config 檔, 也要一併修改. 簡單的規則就是把 3.0.0.0 升級到4.0.0.0, 1.0.0.0 升級到 2.0.0.0. 若是不確定版本是多少, 請至第四步中的兩個資料夾中去看相對應 dll 的 version.
- 重新加入 Reference 的 dll:
1. 1.0.0.0 升級到 2.0.0.0:
System.Web.Helpers
System.Web.WebPages
System.Web.Razor
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
2. 3.0.0.0 升級到 4.0.0.0
System.Web.Mvc
(這邊建議將有用到的 dll 都先加入 Reference, 並設定 Copy Local 為 True 以方便佈版) - 修改 .csproj 檔案:
使用記事本將專案的 .csproj 開啟, 找到 <ProjectTypeGuids>, 將 {E53F8FEA-EAE0-44A6-8774-FFD645390401} 改為 {E3E379DF-F4C6-4180-9B81-6769533ABE47}. 修改完後記得儲存後再開啟專案. - 如果佈署的主機上未安裝 MVC 4 的套件, 可透過錯誤訊息一個個補上, 或是直接從第四步的目錄中複製過去.
- 另外, 若在 IIS7 上佈署後遇到 401.0 的錯誤訊息, 可至 IIS 管理工具 -> 點選該站台 -> 在右方的 IIS 區塊中, 找到 [驗證] 這個功能.
確認 [Windows驗證] 與 [基本驗證] 這兩個都是啟用狀態.
沒有留言:
張貼留言