アプリを .NET 6 に移行する場合、ここに一覧表示されている破壊的変更が影響する可能性があります。 変更は、ASP.NET Core や Windows フォームなどのテクノロジ領域別にグループ化されています。
この記事では、各破壊的変更が "バイナリ互換" であるか、"ソース互換" であるかを示します。
- バイナリ互換 - 既存のバイナリは再コンパイルなしで正常に読み込まれて実行され、実行時の動作は変化しません。
- ソース互換 - 新しいランタイムを対象にしたり、新しい SDK やコンポーネントを使用したりする場合、ソース コードは変更なしで正常にコンパイルされます。
ASP.NET コア
コンテナー
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| コンテナー イメージの既定のコンソール ロガーの書式設定 | ✔️ | ❌ |
.NET 6 のコンテナーに関するその他の破壊的変更については、「.NET 6 コンテナー リリース ノート」を参照してください。
Core .NET ライブラリ
暗号化
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| CreateEncryptor メソッドによって不適切なフィードバック サイズの例外がスローされる | ❌ | ✔️ |
配置
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| 64 ビット Windows での x86 ホスト パス | ✔️ | ✔️ |
Entity Framework Core(エンティティ・フレームワーク・コア)
拡張機能
グローバリゼーション
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| グローバリゼーション インバリアント モードでのカルチャの作成とケース マッピング |
相互運用機能
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| インターフェイスの静的抽象メンバー | ❌ | ✔️ |
JIT コンパイラ
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| ECMA-335 に従って呼び出し引数を強制する | ✔️ | ✔️ |
ネットワーク
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| Kerberos と Negotiate の SPN からポートが削除されました | ❌ | ✔️ |
| WebRequest、WebClient、ServicePoint は廃止されている | ✔️ | ❌ |
SDKについて
シリアル化
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| DataContractSerializer が -0 を逆シリアル化する際に符号を保持する | ❌ | ✔️ |
| TimeSpan の既定のシリアル化形式 | ❌ | ✔️ |
| IAsyncEnumerable のシリアル化 | ✔️ | ❌ |
| JSON ソース生成 API のリファクタリング | ❌ | ✔️ |
| コレクション プロパティに対する JsonNumberHandlingAttribute | ❌ | ✔️ |
| 新しい JsonSerializer ソース ジェネレーターのオーバーロード | ❌ | ✔️ |
Windows フォーム
XML と XSLT
| タイトル | バイナリ互換 | ソース互換 |
|---|---|---|
| XNodeReader.GetAttribute の無効なインデックスでの動作 | ✔️ | ❌ |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET