Visual Studio 2012 無法開啟 ASP.NET MVC2 專案的解決流程筆記
- 2012-06-08
- 24979
- 0
最近 VS2012 的 RC 出了相信很多衝動熱血的開發者都已經安裝了,但是舊有專案還是要維護其實可以叫客戶出錢重寫,像 demo 手上就有一些專案是 ASP.NET MVC2 的版本, VS2012 根本無法開啟,用過 VS2012 以後絕對是不會想回去 VS2010 的,所以就動手來升級 MVC2 專案到 MVC3 吧。
應該不會有 MVC 1 的專案吧...MVC1 的專案應該在改成 VS2010 的時候就痛過一次,如果你真的是 MVC1 的案子,我個人建議去提高維護約價錢吧
轉成 MVC3 後就需要 .NET Framework 4.0 ,請特別注意這點。
開啟 ASP.NET MVC2 方案檔後看到了可愛的小提示
我相信大家應該會很直接按確定....
確定一按馬上送你轉換的報表
哎呀呀 MVC2 專案轉不過來....
不過微軟很好心的提供了連結,按下去可以看到升級 MVC3 的教學
不過 demo 相信因為是洋文很多人不想看,所以在這裡寫出解決的流程(與官網的有點差異)如果你有這需求,就按圖施工保證成功
先來確定一下的確是因為不相容所以開不起來
開啟專案的 Web.config (自行用其他的文字編輯器開)
將所有的
System.Web.Mvc, Version=2.0.0.0
換成
System.Web.Mvc, Version=3.0.0.0
再來開啟專案檔(本範例就是 TaipeiHouse.csproj )
搜尋到
F85E285D-A4E0-4152-9332-AB1D724D3325
置換為
E53F8FEA-EAE0-44A6-8774-FFD645390401
然後對者方案檔按滑鼠右鍵
選擇【解決錯誤】
如果沒跳出下圖,請關閉 Visual Studio 2012 後再開啟。
好,我相信還是直接按【確定】
這次就不一樣了,成功轉換哩
成功轉換只是你可以開而已,功能完全不正常,也不會編譯的過.....路還遠的勒
再次開啟 Web.config (這次就可以用 VS2012 開了)
增加兩個參考
<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" />
再往下拉到最後置換掉 runtime 內的玩意兒
<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>
再來請找到專案的 System.Web.Mvc 參考
把它殺了
通常這會是 MVC 2.0 的參考,所以需要刪除,如果你的是 MVC 3 那就可以省了刪除的動作
然後再新增參考
依序為
- System.Web.WebPages
- System.Web.Helpers
- System.Web.Mvc
編譯看看,這時候應該就完美了
- 如果還是無法開啟您可以試試看是不是少裝了 ASP.NET MVC 3 Tools Update
- 記得多點一些頁面和功能,確保沒有功能死掉。
回應討論