.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 |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET