次の方法で共有


.NET 9 での破壊的変更

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

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

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

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

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

注意

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

ASP.NET Core

Title 変更の種類 導入されたバージョン
DefaultKeyResolution.ShouldGenerateNewKey の意味が変更された 動作の変更 Preview 3
開発証明書のエクスポートでフォルダーが作成されなくなりました 動作の変更 RC 1
HostBuilder による開発環境での ValidateOnBuild/ValidateScopes の有効化 動作の変更 Preview 7
複数のコンストラクターを持つミドルウェア型 動作の変更 RC 1

Containers

Title 変更の種類 導入されたバージョン
.NET 9 コンテナー イメージで zlib がインストールされなくなりました 動作の変更 Preview 7

Core .NET ライブラリ

Title 変更の種類 導入されたバージョン
CompressionLevel を使用して ZipArchiveEntry を追加すると、ZIP 中央ディレクトリ ヘッダーの汎用ビット フラグが設定される 動作の変更 Preview 5
非オープン ジェネリックに対する UnsafeAccessor のサポートが変更された 動作の変更 Preview 6
カスタム診断 ID を使用した API の旧型式化 ソースに互換性がありません (複数)
BigInteger の最大長 動作の変更 Preview 6
BinaryReader.GetString() は、形式が正しくないシーケンスに対して "\uFFFD" を返します 動作の変更 Preview 7
System.Void の配列の型を作成できません 動作の変更 Preview 1
既定の Equals()GetHashCode()InlineArrayAttribute でマークされた型をスローします 動作の変更 Preview 6
EnumConverter は、登録済みの型が列挙型として検証されます 動作の変更 Preview 7
FromKeyedServicesAttribute はキーなしパラメータを挿入しなくなりました 動作の変更 RC 1
IncrementingPollingCounterの初期コールバックは非同期です 動作の変更 RC 1
インライン配列構造体のサイズ制限が適用される 動作の変更 Preview 1
InMemoryDirectoryInfo が rootDir をファイルの先頭に追加する 動作の変更 Preview 1
整数を使用する新しい TimeSpan.From*() オーバーロード ソースに互換性がありません Preview 3
RuntimeHelpers.GetSubArray が異なる型を返す 動作の変更 Preview 1
String.Trim(params ReadOnlySpan<char>) オーバーロードが削除されました ソースとバイナリに互換性がない GA
空の環境変数のサポート 動作の変更 Preview 6
ZipArchiveEntry の名前とコメントは UTF8 フラグを尊重する 動作の変更 RC 1

暗号化

タイトル 変更の種類 導入されたバージョン
SafeEvpPKeyHandle.DuplicateHandle によるハンドルの up-ref 動作の変更 Preview 7
一部の X509Certificate2 および X509Certificate コンストラクターの廃止 ソースに互換性がありません Preview 7
Windows 秘密キーの有効期間の簡素化 動作の変更 Preview 7

デプロイ

タイトル 変更の種類 導入されたバージョン
非推奨のデスクトップ Windows/macOS/Linux MonoVM ランタイム パッケージ ソースに互換性がありません Preview 7

Interop

Title 変更の種類 導入されたバージョン
既定でサポートされている CET バイナリ非互換 Preview 6

JIT コンパイラ

Title 変更の種類 導入されたバージョン
浮動小数点から整数への変換が飽和している 動作の変更 Preview 4
一部の SVE API が削除されました ソースに互換性がありません RC 2

ネットワーク

Title 変更の種類 導入されたバージョン
API の形式 ソースに互換性がありません Preview 6
HttpClient メトリック レポート server.port 無条件 動作の変更 Preview 7
HttpClientFactory のログはデフォルトでヘッダー値を編集します 動作の変更 RC 1
HttpClientFactory がプライマリ ハンドラーとして SocketsHttpHandler を使用する 動作の変更 Preview 6
HttpListenerRequest.UserAgent が null 許容 ソースに互換性がありません Preview 1
HttpClient EventSource イベントでの URI クエリの再アクション 動作の変更 Preview 7
IHttpClientFactory ログでの URI クエリの編集 動作の変更 Preview 7

SDK と MSBuild

Title 変更の種類 導入されたバージョン
dotnet restore 推移的なパッケージを監査する 動作の変更 Preview 6
dotnet watch古いフレームワークのホット リロードと互換性がありません 動作の変更 RC 1
dotnet workload コマンド出力の変更 動作の変更 Preview 1
installer リポジトリ バージョンはドキュメントに記載されなくなりました 動作の変更 Preview 5
ターミナル ロガーが既定 動作の変更 Preview 1
.NET 9 SDK のバージョン要件 ソースに互換性がありません GA
.NET Standard 1.x ターゲットに対して出力される警告 ソースに互換性がありません Preview 6
.NET 7 ターゲットに対して出力される警告 ソースに互換性がありません GA

シリアル化

Title 変更の種類 導入されたバージョン
BinaryFormatter により常にスローされる 動作の変更 Preview 6

Windows フォーム

Title 変更の種類 導入されたバージョン
BindingSource.SortDescriptions が null を返さない 動作の変更 Preview 1
null 許容注釈の変更 ソースに互換性がありません Preview 1
ComponentDesigner.Initialize が ArgumentNullException をスローする 動作の変更 Preview 1
開始行インデックス DataGridViewRowAccessibleObject.Name 動作の変更 Preview 1
IMsoComponentのサポートはオプトインです 動作の変更 Preview 2
新しいセキュリティ アナライザー ソースに互換性がありません RC 1
DataGridView が null の場合は例外なし 動作の変更 Preview 1
PictureBox は HttpClient 例外を発生させます 動作の変更 Preview 6

WPF

Title 変更の種類 導入されたバージョン
GetXmlNamespaceMaps 型の変更 動作の変更、またはソースに互換性がない Preview 3

関連項目