將Teams Template升級到dotnet core 3.1

爲了方便開發者開發Teams應用,我在2018年做了dotnet c#的一套模板,這套模塊一共有三種類型,一個是Teams OutgoingWebhook,一個是MessagingExtension,還有一個就是Tab。

 

今天特地去nuget上看了一下,下載量還很不錯,達到了將近9k的下載。看起來的確幫到了不少Teams的開發人員。 :)

當年做的時候的版本是對應dotnet core 2.1,去年年底dotnet團隊又出了繼2.1 LTS後的新一個LTS:3.1,經過半年的穩定,修補和改進,目前是5月19日發佈的3.1.4版本。所以我上兩週把我的Teams模板也升級到了3.1。

我這裏講一下我升級的主要內容:如果你的項目原來是用我的Teams Template生成,目前也想升級到.net 3.1,那希望這些信息對你有幫助:

csproj文件

  • TargetFramework改成netcoreapp3.1
  • Microsoft.Bot.Builder包升級到4.9.3

Program.cs文件

  • 改用標準的 3.1 模板的寫法
  • 另外如果大家用過SonarQube的話,可能知道之前的寫法會有code smells,我做了一些改進,把Program聲明成static class,並且去掉了Main函數的參數
    public static class Program
    {
        public static void Main()
        {
            CreateHostBuilder(null).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }

Startup.cs文件

  • 改用3.1的mvc寫法:AddControllers()UseRouting()UseEndpoints()
  • IHostingEnvironment改成了IWebHostEnvironment

希望這次的升級能夠給更多的Teams開發人員帶來方便,更希望能吸引/幫忙更多的開發人員參與到Teams開發中來。

MicrosoftTeams.Templates nuget

MicrosoftTeams.Templates源代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章