.NET 11 の破壊的変更

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

この記事では、各破壊的変更を "バイナリ非互換"、"ソース非互換"、"動作変更" として分類しています。

  • バイナリ非互換 - 新しいランタイムまたはコンポーネントに対して実行すると、既存のバイナリで、読み込みまたは実行の失敗など動作の破壊的変更が発生する場合があり、その場合は再コンパイルが必要になります。

  • ソース非互換 - 新しい SDK またはコンポーネントを使用して再コンパイルするとき、または新しいランタイムをターゲットにした場合、既存のソース コードでコンパイルを正常に行うためにソースの変更が必要になる場合があります。

  • 動作の変更 - 実行時に既存のコードとバイナリの動作が異なる場合があります。 新しい動作が望ましくない場合は、既存のコードを更新して再コンパイルする必要があります。

この記事は作業中です。 .NET 11 の破壊的変更の完全な一覧ではありません。

コア .NET ライブラリ

Title 変更の種類
ZIP アーカイブ エントリを読み取るときに CRC32 検証が追加されました 動作の変更
DateOnly TryParse メソッドと TimeOnly TryParse メソッドは、無効な入力に対して例外をスローします 動作の変更
DeflateStream と GZipStream は空のペイロードに対してヘッダーとフッターを書き込みます 動作の変更
Environment.TickCount は、Windowsタイムアウト動作と一致しました 動作の変更
MemoryStream の最大容量の更新と例外動作の変更 動作の変更
PipeOptions.CurrentUserOnly を使用した NamedPipeServerStream によって Unix ソケット ファイルのアクセス許可が強化される 動作の変更
Nullable.GetUnderlyingType はカスタム型サブクラスに対して例外をスローします 動作の変更
非既定の診断 ID による API の廃止 (.NET 11) ソースに互換性がありません
TAR 読み取り API は、読み取り時にヘッダー チェックサムを確認します 動作の変更
TarWriter は、ハードリンクされたファイルに HardLink エントリを使用します 動作の変更
ZipArchive.CreateAsync が ZIP アーカイブ エントリを一括読み込みする 動作の変更

暗号

Title 変更の種類
macOS から DSA が削除されました 動作の変更

拡張機能

Title 変更の種類
BackgroundService が失敗したときに IHost.RunAsync と IHost.StopAsync がスローされる 動作の変更

Globalization

Title 変更の種類
日本語カレンダーの最小サポート日を修正しました 動作の変更

相互運用機能

Title 変更の種類
NativeAOT では、Unix 上のネイティブ ライブラリ出力に lib プレフィックスを使用します 動作の変更

JIT コンパイラ

Title 変更の種類
更新された最小ハードウェア要件 動作の変更

ネットワーク

Title 変更の種類
SslStream サーバー側の AIA 証明書のダウンロードが既定で無効になっている 動作の変更

.NET MAUI

Title 変更の種類
Android API の最小レベルが 24 に引き上げ 動作の変更

SDK と MSBuild

Title 変更の種類
.NET Frameworkアプリケーションの起動ターゲットが設定されていません 動作の変更
VSTest によって Newtonsoft.Json への依存関係が削除される バイナリ/ソースに互換性がありません