訓練
學習路徑
.NET 是免費、跨平台且開放原始碼的開發人員平台,可用來建置許多不同類型的應用程式。 您可以透過 .NET 使用多種語言、編輯器及程式庫,為 Web、行動裝置、桌面、遊戲及 IoT 進行建置。
.NET 5 為 .NET Core 3.1 後的下一個主要版本。 基於兩個原因,我們將此新版本命名為 .NET 5,而不是 .NET Core 4:
ASP.NET Core 5.0 以 .NET 5 為基礎,但會保留名稱 「Core」,以免與 ASP.NET MVC 5 混淆。 同樣地,Entity Framework Core 5.0 會保留名稱 「Core」,以免與 Entity Framework 5 和 6 混淆。
相較於 .NET Core 3.1,.NET 5 包含下列改善功能及新功能:
.NET 5 以上版本為 .NET 未來的主要實作,但仍支援 .NET Framework 4.x。 目前未計劃將 .NET Framework 的下列技術移植到 .NET 5,但 .NET 中有替代項目:
技術 | 建議的替代方案 |
---|---|
Web Form | ASP.NET Core Blazor 或 Razor Pages |
Windows Workflow (WF) | Elsa-Workflows |
僅支援 Windows 進行 Windows Communication Foundation (WCF) 的原始實作。 不過,有一個用戶端連接埠可從 .NET Foundation 取得。 該連接埠為完全開放原始碼、跨平台,且由 Microsoft 支援。 核心 NuGet 套件如下所列:
補強上述用戶端程式庫的伺服器元件可透過 CoreWCF 取得。 自 2022 年 4 月起,Microsoft 正式支援 CoreWCF。 但請考慮 gRPC 作為 WCF 的替代方案。
新的應用程式開發可指定所有專案類型的 net5.0
目標 Framework Moniker (TFM),包含類別庫。 .NET 5 工作負載之間的共用程式碼已簡化:您只需要 net5.0
TFM。
針對 .NET 5 應用程式和程式庫,net5.0
TFM 會結合並取代 netcoreapp
和 netstandard
TFM。 但若您計劃讓 .NET Framework、.NET Core 和 .NET 5 工作負載共用程式碼,則可指定 netstandard2.0
作為 TFM。 如需詳細資訊,請參閱 .NET Standard。
撰寫 .NET 5 應用程式的開發人員可存取最新的 C# 版本和功能。 .NET 5 會與 C# 9 配對,為該語言加入許多新功能。 以下為幾項重點功能:
記錄:參考型別包含以值為基礎的相等語意,以及新 with
運算式支援的非破壞性變異。
關係模式比對:將模式比對功能延伸至比較評估和運算式的關係運算子,包含邏輯模式 - 新關鍵字 and
、or
和 not
。
最上層語句:可省略方法 Main
以加速採用和學習 C#,簡單有效的應用程式如下列範例:
System.Console.Write("Hello world!");
函式指標:語言建構,且公開下列中繼語言 (IL) 作業碼:ldftn
和 calli
。
如需 C# 9 可用功能的詳細資訊,請參閱 C# 9 的新功能。
除了幾項重點新 C# 功能以外,來源產生器也加入了開發人員專案。 來源產生器可使用在編譯期間執行的程式碼,以便檢查程式,並產生與其餘程式碼共同編譯的其他檔案。
如需來源產生器的詳細資訊,請參閱 C# 來源產生器簡介和 C# 來源產生器範例。
F# 為 .NET 功能性程式設計語言,開發人員可使用 .NET 5 存取 F# 5。 其中一項新功能為差補字串,類似 C#、甚至 JavaScript 中的差補字串。
let name = "David"
let age = 36
let message = $"{name} is {age} years old."
除了基本的字串插補以外,也有類型插補。 使用類型插補時,指定類型必須符合格式規範。
let name = "David"
let age = 36
let message = $"%s{name} is %d{age} years old."
此格式類似 sprintf
函式,根據型別安全的輸入來格式化字串。
如需詳細資訊,請參閱 F# 5 的新功能。
.NET 5 中的 Visual Basic 沒有新的語言功能。 但使用 .NET 5 時,Visual Basic 支援會延伸至:
描述 | dotnet new 參數 |
---|---|
主控台應用程式 | console |
類別庫 | classlib |
WPF 應用程式 | wpf |
WPF 類別庫 | wpflib |
WPF 自訂控制項程式庫 | wpfcustomcontrollib |
WPF 使用者控制項程式庫 | wpfusercontrollib |
Windows Forms (WinForms) 應用程式 | winforms |
Windows Forms (WinForms) 類別庫 | winformslib |
單元測試專案 | mstest |
NUnit 3 測試專案 | nunit |
NUnit 3 測試項目 | nunit-test |
xUnit 測試專案 | xunit |
如需 .NET CLI 中專案範本的詳細資訊,請參閱 dotnet new
。
已有 System.Text.Json 新功能:
訓練
學習路徑
.NET 是免費、跨平台且開放原始碼的開發人員平台,可用來建置許多不同類型的應用程式。 您可以透過 .NET 使用多種語言、編輯器及程式庫,為 Web、行動裝置、桌面、遊戲及 IoT 進行建置。