爲了方便開發者開發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開發中來。