原本只是想用範本建立一個 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。