[Azure][Net5]把 API 升級到 asp.net core 5 並佈署到 azure web app 上

調整 api 專案 , 並且修改 azure devops 的 build , 讓程式改用 .net 5

一如以往 , 在 .NET Core 5 推出之後 , FB 上就幾乎被洗版了 , 因此想說把自己練習寫的玩具升級上來 , 也順便學習一下新的功能和語法

一開始我就先按照說明把平常在使用的 Visual Studio 2019 給升級到 16.8 的版本 ( 也順手把 2017 給移除了 )。

基本上更新是蠻快的,也沒有甚麼樣的大問題,更新好之後,也把 .NET Core 5 SDK 給安裝上來,只是安裝過程中真的讓我嚇一跳,應該是我的機器太差了 ( 還是他真的通靈知道 1111 要換新 ) ,安裝的時候忽然 CPU 飆到 100%,使得我的電腦風扇全部都運轉起來了,第一次被這樣的聲音給嚇到了,還以為電腦怎麼了。

接下來開啟我的專案,把專案的屬性內的目標改成「.NET 5.0」,在本機測試一下沒有甚麼大的問題,因此就試看看 Azure DevOps 的 CI/CD 是否也正常。

在 Azure DevOps 上面,因為預設編譯環境下沒有 .NET core 5 的 SDK,因此我在原本的流程中的一開始,加入一個 Use .NET core,讓程式編譯的時候可以順利。

而另外因為 Azure Web App 上面,並沒有 .NET Core 5 的 Runtime,因此我在這裡調整一下原本的 Publish ,將原本的設定的執行參數,加入了「-r win-x86」,主要是為了讓佈署模式變成「獨立式」( self contained ),這裡就看您的需要調整看是要用 win-x64 或者是其他的,總之就是配合您的 Web App 去做調整。

為了確認佈署上去的是採用 .NET Core 5 的 Runtime,因此我修改自己原本的一個 API,讓他可以顯示 .NET Core 的版本

        [HttpGet]
        public string Get()
        {
            return System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;
        }

調整完之後,就讓 Azure DevOps 順利的執行完畢,也測試一下看起來都很正常

這次升級 .NET Core 5,似乎沒有遇到甚麼破壞性的更新,都然也有可能是我自己練習用的程式裡面功能也不多,因此相關處理都還沒有遇到問題,看來可以慢慢的把一些系統和之前寫的 Desktop 程式,都開始轉向 .NET Core 5 了。