英語で読む

次の方法で共有


.NET 8 の破壊的変更

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

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

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

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

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

ASP.NET Core

Containers

Core .NET ライブラリ

Title 変更の種類
null の場合のアクティビティ操作名 動作の変更
AnonymousPipeServerStream.Dispose の動作 動作の変更
カスタム診断 ID を使用した API の旧型式化 ソースに互換性がありません
Unix ファイル パスでのバックスラッシュ マッピング 動作の変更
Base64.DecodeFromUtf8 メソッドは空白を無視する 動作の変更
ブール値に基づく列挙型のサポートの削除 動作の変更
Complex.ToString 形式が <a; b> に変更されました 動作の変更
ドライブの現在のディレクトリ パスの列挙 動作の変更
Enumerable.Sum が一部の入力に対して新しい OverflowException をスローする 動作の変更
パイプが閉じられたときに FileStream の書き込みが行われます 動作の変更
FindSystemTimeZoneById が新しいオブジェクトを返さない 動作の変更
GC.GetGeneration が Int32.MaxValue を返す場合があります 動作の変更
Unix での GetFolderPath の動作 動作の変更
GetSystemVersion から ImageRuntimeVersion が返されなくなりました 動作の変更
ITypeDescriptorContext null 許容注釈 ソースに互換性がありません
レガシ Console.ReadKey が削除されました 動作の変更
メソッド ビルダーは、HasDefaultValue を false に設定してパラメーターを生成します 動作の変更
UseShellExecute が false のときに ProcessStartInfo.WindowStyle が適用される 動作の変更
ランタイムがビルドされたプラットフォームが RuntimeIdentifier から返される 動作の変更
Type.GetType がすべての無効な要素型に対して例外をスローする 動作の変更

暗号化

タイトル 変更の種類 導入時期
macOS での AesGcm 認証タグのサイズ 動作の変更 Preview 1
RSA.EncryptValue と RSA.DecryptValue の廃止 ソースに互換性がありません Preview 1

デプロイ

Entity Framework Core

EF Core 8 での破壊的変更

Extensions

グローバリゼーション

Interop

ネットワーク

リフレクション

タイトル 変更の種類
IntPtr が関数ポインター型に使用されなくなりました 動作の変更

SDK

Title 変更の種類
CLI コンソール出力での UTF-8 の使用 動作の変更/ソースとバイナリに互換性がありません
完了後にコンソール エンコードが UTF-8 ではなくなる 動作の変更/バイナリに互換性がありません
コンテナーでは既定で 'latest' タグが使用される 動作の変更
'dotnet pack' では Release 構成が使用される 動作の変更、またはソースに互換性がない
'dotnet publish' では Release 構成が使用される 動作の変更、またはソースに互換性がない
-getItem、-getProperty、-getTargetResult の出力を複製する 動作の変更
System.Net.Http の暗黙的な using が追加されなくなりました 動作の変更、またはソースに互換性がない
非推奨となった MSBuild カスタム派生ビルド イベント 動作の変更
MSBuild は DOTNET_CLI_UI_LANGUAGE を使用する 動作の変更
自己完結型ではないランタイム固有のアプリ ソースとバイナリに互換性がない
--arch オプションは自己完結型を意味しません 動作の変更
"dotnet restore" によってセキュリティの脆弱性の警告が生成される 動作の変更
SDK で小さい RID グラフを使う 動作の変更、またはソースに互換性がない
DebugSymbols を false に設定すると PDB の生成が無効になる 動作の変更
Source Link が .NET SDK に含まれるようになりました ソースに互換性がありません
トリミングは、.NET Standard または .NET Framework では使用できません 動作の変更
.NET ツールについて非記載パッケージが既定でインストールされない 動作の変更
外部ビルドにインポートされるようになった .user ファイル 動作の変更
.NET 8 SDK のバージョン要件 ソースに互換性がありません

シリアル化

Windows フォーム

関連項目