.NET Core 3.1 の新機能

この記事では、.NET Core 3.1 の新機能について説明します。 このリリースには、小規模であるが重要な修正に重点を置いた .NET Core 3.0 のマイナー機能強化が含まれています。 .NET Core 3.1 に関する最も重要な機能は、長期的なサポート (LTS) リリースであるということです。

Visual Studio 2019 を使用している場合は、.NET Core 3.1 プロジェクトで使用できるように Visual Studio 2019 バージョン 16.4 以降 に更新する必要があります。 Visual Studio 16.4 の新機能の詳細については、Visual Studio 2019 バージョン 16.4 の新機能に関するページを参照してください。

Visual Studio for Mac でも .NET Core 3.1 がサポートされており、Visual Studio for Mac 8.4 に含まれています。

リリースの詳細については、「.NET Core 3.1 についてのお知らせ」を参照してください。

長期的なサポート

.NET Core 3.1 は、次の 3 年間にわたって Microsoft のサポートが提供される LTS リリースです。 アプリを .NET Core 3.1 に移行することを強くお勧めします。 他のメジャー リリースの現在のライフサイクルは次のとおりです。

リリース メモ
.NET Core 3.0 2020 年 3 月 3 日にサポートが終了します。
.NET Core 2.2 2019 年 12 月 23 日にサポートが終了します。
.NET Core 2.1 2021 年 8 月 21 日にサポートが終了します。

詳細については、「.NET Core のサポート ポリシー」をご覧ください。

macOS appHost と公証

macOS のみ

macOS の公証を受けた .NET Core SDK 3.1 以降では、appHost の設定は既定で無効です。 詳細については、「macOS Catalina の公証と .NET Core のダウンロードとプロジェクトへの影響」を参照してください。

appHost 設定が有効な場合、ビルド時または発行時に .NET Core によってネイティブの Mach-O 実行可能ファイルが生成されます。 dotnet run コマンドを使用してソース コードから実行するか、Mach-O 実行可能ファイルを直接起動すると、アプリは appHost のコンテキストで実行されます。

appHost を使用しない場合、ユーザーがフレームワークに依存するアプリを起動できる唯一の方法は、dotnet <filename.dll> コマンドを使用することです。 自己完結型のアプリを発行すると、常に appHost が作成されます。

プロジェクト レベルで appHost を構成するか、-p:UseAppHost パラメーターを使用して特定の dotnet コマンドの appHost を切り替えることができます。

  • プロジェクト ファイル

    <PropertyGroup>
      <UseAppHost>true</UseAppHost>
    </PropertyGroup>
    
  • コマンド ライン パラメーター

    dotnet run -p:UseAppHost=true
    

UseAppHost 設定の詳細については、Microsoft.NET.Sdk の MSBuild プロパティに関する記事を参照してください。

Windows フォーム

Windows のみ

警告

Windows フォームで破壊的変更が行われています。

Windows フォームには、Visual Studio Designer Toolbox でしばらくの間利用できなくなっているレガシ コントロールが含まれていました。 これらは、.NET Framework 2.0 の新しいコントロールに置き換えられていました。 これらは、Desktop SDK for .NET Core 3.1. から削除されています。

削除されたコントロール 推奨代替 削除された関連 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++ ワークロードを使用するデスクトップ開発をインストールします。 このワークロードによって、次の 2 つのテンプレートが Visual Studio に追加されます。

  • CLR クラス ライブラリ (.NET Core)
  • CLR 空のプロジェクト (.NET Framework)

次の手順