アプリを .NET 11 に移行する場合、ここに記載されている破壊的変更が影響を受ける可能性があります。 変更は、ASP.NET CoreやWindows フォームなどのテクノロジ領域ごとにグループ化されます。
この記事では、各破壊的変更を "バイナリ非互換"、"ソース非互換"、"動作変更" として分類しています。
バイナリに互換性がない - 新しいランタイムまたはコンポーネントに対して実行すると、既存のバイナリで、読み込みまたは実行の失敗などの動作に重大な変更が発生する可能性があり、その場合は再コンパイルが必要になります。
ソースに互換性がない - 新しい SDK またはコンポーネントを使用して再コンパイルするとき、または新しいランタイムをターゲットにした場合、既存のソース コードでソースの変更が正常にコンパイルされる必要がある場合があります。
動作の変更 - 実行時に既存のコードとバイナリの動作が異なる場合があります。 新しい動作が望ましくない場合は、既存のコードを更新して再コンパイルする必要があります。
注
この記事は作業中です。 .NET 11 の破壊的変更の完全な一覧ではありません。
ASP.NET Core
ASP.NET Core 11 の破壊的変更を参照してください。
Containers
| Title | 変更の種類 |
|---|---|
| dotnet テストには、コンテナー内の書き込み可能な VSTest 成果物の基本ディレクトリが必要です | 動作の変更 |
コア .NET ライブラリ
暗号
| Title | 変更の種類 |
|---|---|
| API の廃止 | ソースに互換性がありません |
| Windows 上の Composite ML-DSA はネイティブ実装を使用します | 動作の変更 |
| macOS から DSA が削除されました | 動作の変更 |
| Windows 上の HKDF は CNG 実装を使用します | 動作の変更 |
| Linux AIA 証明書のフェッチは、チェーン ビルドごとに 2 つのフェッチに制限されます | 動作の変更 |
Deployment
| Title | 変更の種類 |
|---|---|
| .runtimeconfig.dev.json 内の configProperties は .runtimeconfig.json をオーバーライドします | 動作の変更 |
拡張機能
Globalization
| Title | 変更の種類 |
|---|---|
| 和暦の最小サポート日を修正しました | 動作の変更 |
相互運用機能
| Title | 変更の種類 |
|---|---|
| ネイティブ AOT が blittable 以外の UnmanagedCallersOnly シグネチャを拒否する | 動作の変更 |
| NativeAOT では、Unix 上のネイティブ ライブラリ出力に lib プレフィックスを使用します | 動作の変更 |
JIT コンパイラ
| Title | 変更の種類 |
|---|---|
| 浮動小数点から小さい整数型への変換が飽和している | 動作の変更 |
| 最小ハードウェア要件が更新されました | 動作の変更 |
ネットワーク
| Title | 変更の種類 |
|---|---|
| HttpClient の高カーディナリティ メトリックは監視可能なカウンターを使用します | 動作の変更 |
| SslStream サーバー側の AIA 証明書のダウンロードが既定で無効になっている | 動作の変更 |
.NET MAUI
| Title | 変更の種類 |
|---|---|
| Android x86 はサポートされていません | バイナリ非互換/動作の変化 |
| モバイルでのコード生成が Mono から CoreCLR に変更 | ソースの非互換または挙動の変更 |
| .NET モバイル アプリでは、Mono ランタイムが CoreCLR に置き換えられます | バイナリ/ソースの互換性なし/動作の変更 |
| CoreCLR トレース イベントが Mono トレース イベントを置き換える | バイナリ/ソースの互換性なし/動作の変更 |
| モバイル プラットフォームでのクラッシュ レポート動作の変更 | 動作の変更 |
に変更されたモバイル プラットフォーム上のインターフェイスのデバッグ ICorDebug |
バイナリ/ソースの互換性なし/動作の変更 |
| Android API の最小レベルが 24 に引き上げられた | 動作の変更 |
| モバイル プラットフォームでサポートされなくなった Mono 埋め込み API | バイナリ/ソースの互換性なし/動作の変更 |
| Mono プロジェクトのプロパティでモバイル アプリが構成されなくなりました | ソースの非互換または挙動の変更 |
| Mono ランタイム設定でモバイル アプリが構成されなくなりました | 動作/ソースに互換性がありません |
| Apple ターゲットでは UnwindNativeCode はサポートされていません | ソースの非互換または挙動の変更 |
SDK と MSBuild
| Title | 変更の種類 |
|---|---|
| dnx スクリプトは global.json の SDK 選択をバイパスする | 動作の変更 |
| ネイティブ AOT 発行で完全なビルドがスキップされました | 動作の変更 |
| mono 起動ターゲットが .NET Framework アプリ用に設定されていない | 動作の変更 |
| NativeAOT CLI コマンド処理が既定で有効になっている | 動作の変更 |
| 非推奨の MonoAndroid フレームワーク資産を使用するパッケージに対して NU1703 警告が表示される | ソースに互換性がありません |
| Linux で NuGet locks ディレクトリが移動 | 動作の変更 |
| NuGet pack は、使用できない文字を含むパッケージ ID に対して警告します | 動作の変更 |
| 復元でグローバル パッケージ フォルダーの上位バージョンが検索されない | ソースに互換性がありません |
| SDK ローカル コンテナー ランタイムの選択でプラットフォームネイティブ ツールが優先される | 動作の変更 |
| テンプレート エンジン パッケージで netstandard2.0 がサポートされなくなりました | バイナリ/ソースに互換性がありません |
| テンプレート パッケージのインストールによって NuGet 署名が検証される | 動作の変更 |
| VSTest によって Newtonsoft.Json への依存関係が削除される | バイナリ/ソースに互換性がありません |
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET