[料理佳餚] ASP.NET 5 從 beta5 升級到 beta6

原本只是想用範本建立一個 ASP.NET 5 的專案來玩玩,結果意外地從 1.0.0-beta5 升級到 1.0.0-beta6。

當我用 ASP.NET 5 Preview 範本建立了一個 Web Application 的專案之後,連建置的機會沒有就跳出了這個警告訊息。

建置之後,告訴我說我沒有安裝 Dnx Runtime。

執行 dnvm upgrade 將 Dnx Runtime 進行升級,安裝完畢之後,將 C:\Users\{UserName}\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta6\bin 路徑加到「使用者環境變數」及「系統環境變數」的 Path 設定中。

接著調整專案屬性內「解決方案 DNX SDK 版本」,設定成想要的版本及架構,做完這些的事情之後,重新啟動 Visual Studio 再建置就成功了。

但是事情總沒有想像中順利,執行網站之後告訴我 The current runtime target framework is not compatible with 'XXX',要我確認 project.json 裡面 framework 的資訊。

檢查 project.json 裡面發現相依的套件都是 *-beta5,與我稍早之前 dnvm upgrade 之後的 beta6 版本不符。

進入「管理 NuGet 套件」檢查看看,果然有 *-beta6 可以升級。

由於 Visual Studio 2015 使用的 NuGet Package Manager 我現在還找不到「全部更新」可以用,所以就在「套件主控台中」執行 Update-Package -IncludePrerelease 更新全部的套件。

再建置一次,還是報錯 'ErrorPageOptions' does not contain a definition for 'ShowAll'
(翻桌了啦)…(╯‵□′)╯︵┴─┴

拜一下 Google 大神,原來 beta6 把 ErrorPageOptions.ShowAll 給拿掉,把錯誤行改成 app.UseErrorPage();,再建置就成功了。

順利執行範例網站

beta5 更新到 beta6 的改變及要調整事項可參考 How to upgrade ASP.NET 5 (vnext) from Beta5 to Beta6

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學