demoshop

demo, trying to be the best_

最近 VS2012 的 RC 出了相信很多衝動熱血的開發者都已經安裝了,但是舊有專案還是要維護其實可以叫客戶出錢重寫,像 demo 手上就有一些專案是 ASP.NET MVC2 的版本, VS2012 根本無法開啟,用過 VS2012 以後絕對是不會想回去 VS2010 的,所以就動手來升級 MVC2 專案到 MVC3 吧。

demo廢言應該不會有 MVC 1 的專案吧...MVC1 的專案應該在改成 VS2010 的時候就過一次,如果你真的是 MVC1 的案子,我個人建議去提高維護約價錢吧

 

注意事項轉成 MVC3 後就需要 .NET Framework 4.0 ,請特別注意這點。


●開啟 ASP.NET MVC2 方案檔後看到了可愛的小提示

我相信大家應該會很直接按確定....


●確定一按馬上送你轉換的報表

哎呀呀 MVC2 專案轉不過來....


●不過微軟很好心的提供了連結,按下去可以看到升級 MVC3 的教學

連結按偶


demo廢言不過 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 那就可以省了刪除的動作


●然後再新增參考

依序為

  1. System.Web.WebPages
  2. System.Web.Helpers
  3. System.Web.Mvc


●編譯看看,這時候應該就完美了

 

注意事項

  1. 如果還是無法開啟您可以試試看是不是少裝了 ASP.NET MVC 3 Tools Update
  2. 記得多點一些頁面和功能,確保沒有功能死掉。

回應討論