.NET 6 での破壊的変更

アプリを .NET 6 に移行する場合、ここに一覧表示されている破壊的変更が影響する可能性があります。 変更は、ASP.NET Core や Windows フォームなどのテクノロジ領域別にグループ化されています。

注意

この記事は、作業中です。 .NET 6 での破壊的変更の完全なリストではありません。 発行を保留中の破壊的変更に対してクエリを実行するには、「.NET の問題」を参照してください。

ASP.NET Core

Title バイナリ互換 ソース互換 導入時期
AddDataAnnotationsValidation メソッドの廃止 ✔️
Microsoft.AspNetCore.App 共有フレームワークから削除されたアセンブリ ✔️
Blazor: RequestImageFileAsync メソッドで変更されたパラメーター名 ✔️ Preview 1
Blazor: WebEventDescriptor.EventArgsType プロパティが置き換えられました
Blazor: バイト配列相互運用 ✔️ Preview 6
@microsoft/signalr-protocol-msgpack で変更された MessagePack ライブラリ ✔️
ClientCertificate プロパティで HttpSys の再ネゴシエーションがトリガーされない ✔️
EndpointName メタデータが自動的に設定されない ✔️ RC 2
Kestrel: 変更されたログ メッセージ属性 ✔️
Microsoft.AspNetCore.Http.Features の分割 ✔️
ミドルウェア:HTTPS リダイレクト ミドルウェアがあいまいな HTTPS ポートで例外をスローする ✔️
ミドルウェア: 新しい Use オーバーロード ✔️ Preview 4
RC 1 での最小 API の名前変更 RC 1
RC 2 での最小 API の名前変更 RC 2
System.Text.Json を使用すると、MVC で IAsyncEnumerable 型がバッファーされない ✔️ Preview 4
null 許容参照型の注釈の変更 ✔️
古い API と削除された API ✔️ Preview 1
PreserveCompilationContext が既定で構成されない ✔️
Razor: コンパイラによって Views アセンブリが生成されなくなりました ✔️ Preview 3
Razor: ログ ID の変更 ✔️ RC1
Razor: Razor古いとしてマークされた Engine API ✔️ Preview 1
SignalR: Java クライアントの RxJava3 への更新 ✔️ Preview 4
TryParse および BindAsync メソッドが検証される RC 2

Core .NET ライブラリ

Title バイナリ互換 ソース互換 導入時期
既定以外の診断 ID を持つ API の旧型式化 ✔️ Preview 1
null 許容参照型の注釈の変更 ✔️ Preview 1-2
デバッグ メソッドでの条件付き文字列の評価 ✔️ RC 1
Windows での Environment.ProcessorCount の動作 ✔️ Preview 2
Unix 上の File.Replace から Windows と同じ例外がスローされる ✔️ Preview 7
FileStream により Unix 上の共有ロックによってファイルがロックされる ✔️ Preview 1
FileStream でのファイル オフセットと OS の同期を廃止 Preview 4
ReadAsync または WriteAsync の完了後に FileStream.Position が更新される Preview 4
古い API 用の新しい診断 ID ✔️ Preview 5
AssociatedMetadataTypeTypeDescriptionProvider の新しい Null 許容注釈 ✔️ RC 2
新しい System.Linq.Queryable メソッドのオーバーロード ✔️ Preview 3-4
パッケージから削除された古いバージョンのフレームワーク ✔️ Preview 5
パラメーター名の変更 ✔️ Preview 1
ストリーム派生型のパラメーター名 ✔️ Preview 1
DeflateStream、GZipStream、CryptoStream での部分的な読み取りとゼロバイトの読み取り ✔️ Preview 6
標準の数値書式の解析精度 ✔️ Preview 2
インターフェイスの静的抽象メンバー ✔️ Preview 7
StringBuilder.Append オーバーロードと評価順序 ✔️ RC 1
System.Drawing.Common が Windows でしかサポートされない Preview 7
System.Security.SecurityContext が古いものとしてマークされる ✔️ RC 1
Task.FromResult でシングルトンを返すことができる ✔️ Preview 1
BackgroundService からのハンドルされない例外 ✔️ Preview 4
XmlDocument.XmlResolver の NULL 値の許容の変更 ✔️ RC 1
XNodeReader.GetAttribute の無効なインデックスでの動作 ✔️ Preview 2

暗号化

タイトル バイナリ互換 ソース互換 導入時期
CreateEncryptor メソッドによって不適切なフィードバック サイズの例外がスローされる ✔️ Preview 7

Entity Framework Core

EF Core 6 での破壊的変更

Extensions

タイトル バイナリ互換 ソース互換 導入時期
プロバイダーが null でないことが AddProvider によってチェックされる ✔️ RC 1
FileConfigurationProvider.Load から InvalidDataException がスローされる ✔️ RC 1
破棄された ServiceProvider の解決により例外がスローされる ✔️ RC 1

グローバリゼーション

Title バイナリ互換 ソース互換 導入時期
グローバリゼーション インバリアント モードでのカルチャの作成とケース マッピング Preview 7

Interop

タイトル バイナリ互換 ソース互換 導入時期
インターフェイスの静的抽象メンバー ✔️ Preview 7

JIT コンパイラ

Title バイナリ互換 ソース互換 導入時期
ECMA-335 に従って呼び出し引数を強制する ✔️ ✔️ Preview 1

ネットワーク

Title バイナリ互換 ソース互換 導入時期
Kerberos と Negotiate の SPN からポートが削除されました ✔️ RC 1
WebRequest、WebClient、ServicePoint は廃止されている ✔️ Preview 1

SDK

Title バイナリ互換 ソース互換 導入時期
dotnet run-p オプションは非推奨です ✔️ Preview 6
テンプレートの C# コードが以前のバージョンでサポートされない ✔️ ✔️ Preview 7
暗黙的に含まれる EditorConfig ファイル ✔️
macOS 用の apphost を生成する ✔️ Preview 6
発行出力で重複するファイルのエラーを生成する ✔️ Preview 1
GetTargetFrameworkProperties と GetNearestTargetFramework が ProjectReference プロトコルから削除されました ✔️ Preview 1
ARM64 でエミュレートされた x64 のインストール場所 ✔️ RC 2
MSBuild で GetType() の呼び出しがサポートされなくなった RC 1
WinExe に OutputType が自動的に設定されない ✔️ RC 1
自己完結型が指定されていない場合の RuntimeIdentifier 警告 ✔️ RC 1

シリアル化

Title バイナリ互換 ソース互換 導入時期
IAsyncEnumerable のシリアル化 ✔️ Preview 4
JSON ソース生成 API のリファクタリング ✔️ RC 2
コレクション プロパティに対する JsonNumberHandlingAttribute ✔️ RC 1
新しい JsonSerializer ソース ジェネレーターのオーバーロード ✔️ Preview 6

Windows フォーム

Title バイナリ互換 ソース互換 導入時期
C# テンプレートでアプリケーション ブートストラップが使用される ✔️ RC 1
選択された TableLayoutSettings プロパティで InvalidEnumArgumentException がスローされる ✔️ Preview 1
DataGridView 関連の API が InvalidOperationException をスローするようになった ✔️ Preview 4
ListViewGroupCollection メソッドが新しい InvalidOperationException をスローする ✔️ RC 2
NotifyIcon。テキストの最大文字数の増加 ✔️ Preview 1
一部の API によって ArgumentNullException がスローされる ✔️ Preview 1-4
ノードが別のものに割り当てられている場合、TreeNodeCollection.Item により例外がスローされる ✔️ Preview 1