Net5升級Net6

Net6約在2021/11時發布,工作需求,所以做點升級動作

因為工作的關係,所以在去年Net6一發布,就被要求做Net6升級動作,所幸官網提供的說明文件不少,並沒有大問題產生

依照官網文件說明,可以看見少了Startup.cs,剰Program.cs以及一些Using變成隱藏式的固定使用,讓Program.cs精簡不少

Net5升級Net6,照著文件說明,開始搬移

遇到特殊的情況

  1. String Null
  2. NLog使用


String Null 

習慣性問題,想依照舊有的習慣使用,在.csproj檔上增加Nullable disable即可

 <PropertyGroup>
   <TargetFramework>net6.0</TargetFramework>
   <Nullable>disable</Nullable>
   <ImplicitUsings>enable</ImplicitUsings>
 </PropertyGroup>

NLog使用 

官網上沒有說明

Net5 是在Program中調用

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

Net6 則是在CreateBuilder後再調用WebHost,即可以調用UseNLog,因WebHost繼承IWebHostBuilder

var builder = WebApplication.CreateBuilder(args);
//使用Nlog
builder.WebHost.UseNLog();

資料來源參考

  1. 官網文件