.NET Core 3.1 的新功能
本文描述 .NET Core 3.1 的新功能。 此版本包含對 .NET Core 3.0 的次要改進內容,著重於小規模但重要的修正。 關於 .NET Core 3.1 最重要的功能是,它是長期支援 (LTS) 版本。
如果您使用 Visual Studio 2019,則必須更新至 Visual Studio 2019 16.4 版或更新版本,才能與 .NET Core 3.1 專案搭配使用。 如需 Visual Studio 16.4 版新功能的詳細資訊,請參閱 Visual Studio 2019 16.4 版的新功能。
如需版本的詳細資訊,請參閱 .NET Core 3.1 公告。
- 在 Windows、macOS 或 Linux 上下載並開始使用 .NET Core 3.1。
長期支援
.NET Core 3.1 是一個 LTS 版本,在發行後的三年內可以獲得 Microsoft 的支援。 強烈建議您將應用程式移至最新的 LTS 版本。 如需受支援版本的清單,請參閱 .NET 和 .NET Core 支援原則頁面。
版本 | 生命週期結束日期 |
---|---|
.NET Core 3.1 | 2022 年 12 月 13 日生命週期結束。 |
.NET Core 3.0 | 2020 年 3 月 3 日生命週期結束。 |
.NET Core 2.2 | 2019 年 12 月 23 日生命週期結束。 |
.NET Core 2.1 | 2021 年 8 月 21 日生命週期結束。 |
如需詳細資訊,請參閱 .NET 和 .NET Core 支援原則。
macOS appHost 和 notarization
僅限 macOS
從適用於 macOS 經過公證的 .NET Core SDK 3.1 開始,依預設會停用 appHost 設定。 如需詳細資訊,請參閱 macOS Catalina Notarization 及對 .NET Core 下載和專案的影響。
啟用 appHost 設定時,.NET Core 會在您建置或發佈時產生原生 Mach-O 可執行檔。 當您的應用程式透過 dotnet run
命令從原始程式碼中執行,或透過直接啟動 Mach-O 可執行檔時,您的應用程式會在 appHost 的內容中執行。
如果沒有 appHost,使用者可啟動架構相依應用程式的唯一方法是使用 dotnet <filename.dll>
命令。 當您發佈獨立式應用程式時,一律會建立 appHost。
您可以在專案層級設定 appHost,或針對 appHost 切換成使用含 -p:UseAppHost
參數的特定 dotnet
命令:
專案檔
<PropertyGroup> <UseAppHost>true</UseAppHost> </PropertyGroup>
命令列參數
dotnet run -p:UseAppHost=true
如需 UseAppHost
設定的詳細資訊,請參閱 Microsoft.NET.Sdk 的 MSBuild 屬性。
Windows Forms
僅限 Windows
警告
Windows Forms 中有重大變更。
舊的控制項已包含在 Visual Studio 設計工具工具箱中一段時間無法使用的 Windows Forms。 這些在 .NET Framework 2.0 中已被新的控制項取代。 這些已從適用於 .NET Core 3.1 的 Desktop SDK 中移除。
移除的控制項 | 建議的取代項 | 已移除的相關聯 API |
---|---|---|
DataGrid | DataGridView | DataGridCell DataGridRow DataGridTableCollection DataGridColumnCollection DataGridTableStyle DataGridColumnStyle DataGridLineStyle DataGridParentRowsLabel DataGridParentRowsLabelStyle DataGridBoolColumn DataGridTextBox GridColumnStylesCollection GridTableStylesCollection HitTestType |
ToolBar | ToolStrip | ToolBarAppearance |
ToolBarButton | ToolStripButton | ToolBarButtonClickEventArgs ToolBarButtonClickEventHandler ToolBarButtonStyle ToolBarTextAlign |
ContextMenu | ContextMenuStrip | |
Menu | ToolStripDropDown ToolStripDropDownMenu |
MenuItemCollection |
MainMenu | MenuStrip | |
MenuItem | ToolStripMenuItem |
我們建議您將應用程式更新為 .NET Core 3.1,並移至取代的控制項。 取代控制項是一個直接簡單的過程,基本上是對類型進行「尋找並取代」的動作。
C++/CLI
僅限 Windows
已新增了可建立 C++/CLI (也稱為「受控 C++」) 專案的支援。 從這些專案產生的二進位檔與 .NET Core 3.0 和更新版本相容。
若要在 Visual Studio 2019 16.4 版中新增對 C++/CLI 的支援,請安裝 「使用 C++ 進行桌面開發」工作負載。 此工作負載會將兩個範本新增至 Visual Studio:
- CLR 類別庫 (.NET Core)
- CLR 空白專案 (.NET Core)