ASP․NET Core 6.0 語法糖 - Application Web

延續上一篇介紹 ASP․NET Core 6.0 語法糖 - Console APP,在.NET 6.0語法糖有了大大的改變,各種語言有越來越統一的趨勢,本篇來介紹在 ASP.NET Core Web 應用程式又有什麼變化呢?


建立專案

Step 1. 在Visual Studio 中,選取 [建立新專案],點擊下一步 > 選取 [ASP.NET Core Web 應用程式]。

image

Step 2. 設定專案名稱 WebApplicationNET6 ,以及要存放專案的路徑。

image

Step 3. 目標Framework 選取 ASP․NET Core 6.0,目前還是預覽版本,在後續正式發布後,據說將開啟為期三年的長期支持,完成設定後點擊 [建立] 專案。

image


NET5 vs NET6

這邊我們另外建立了 ASP .NET Core 5.0 版本,對照一下升級後的差異,可以很明顯看到,升級 .NET 6.0 之後,一頁就可全部看完,這邊一樣用到 Top-level statement 語言特性,所有code都整併到 Program.cs ,已經替除 **Startup.cs**檔案。

image

image

看到 Program.cs 第一行,這邊的WebApplication 整併了 IHostBuilder 以及 Startup.cs 裡面的 IApplicationBuilder、IWebHostEnvironment,以往我們常用到的Configuration、Logging、Environment、Host 全部整併進builder,程式碼變得非常乾淨,一個builder搞定一切。

var builder = WebApplication.CreateBuilder(args);

專案檔

開啟專案檔 (快速點兩下),參數說明:

  • TargetFramework:目標框架。
  • ImplicitUsings:隱含的using。

    global using 是 C#10 全新的語言特性,可以利用這種屬性設定去啟用這個sdk底下預設的命名空間,會自動using進去,簡單說就是全域的using。

image


Global using

帶大家看看Project Sdk:Microsoft.NET.Sdk.Web 的 ImplicitUsings 預設using了哪些東西。

Step 1. 首先找到 dotnet sdk 路徑 C:\Program Files\dotnet\sdk 根據自己的sdk版本進入,今天範例使用的是 [6.0.100-rc.2.21505.57]

C:\Program Files\dotnet\sdk\6.0.100-rc.2.21505.57\Sdks\Microsoft.NET.Sdk.Web\Sdk

image

Step 2. 開啟 Sdk.props 檔案,Implicit imports 區塊為有條件的載入,當 ImplicitUsings=tureImplicitUsings=enable 時,都會預設using以下的命名空間。

image

Step 3. Application Web除了預設using最常用的命名空間,包含ConsoleApp預設會載入的using也一併含括納入,我們將專案建置後,找到資料夾 [ obj ] > [ Debug ] > [ net6.0 ] > 開啟 [ WebApplicationNET6.GlobalUsings.g.cs ]檔案,可一目了然所有預載命名空間。

image

未來再也不需要在我們的c#檔案usign一堆命名空間囉,


  • 參考文章
tags: Visual Studio 2022

留言板
歷史留言

標籤