ASP.NET Core 6 の破壊的変更

アプリを ASP.NET Core 6 に移行する場合、ここに記載されている破壊的変更が影響を受ける可能性があります。

この記事では、各破壊的変更が バイナリ互換 か ソース互換かを示します。

  • バイナリ互換 - 既存のバイナリは再コンパイルなしで正常に読み込んで実行され、ランタイムの動作は変更されません。
  • ソース互換 - 新しいランタイムをターゲットにしたり、新しい SDK またはコンポーネントを使用したりすると、ソース コードは変更なしで正常にコンパイルされます。
Title バイナリ互換 ソース互換
ActionResult<T> は StatusCode を 200 に設定します ✔️ ❌
AddDataAnnotationsValidation メソッドの廃止 ✔️ ❌
Microsoft.AspNetCore.App 共有フレームワークから削除されたアセンブリ ❌ ✔️
Blazor: RequestImageFileAsync メソッドで変更されたパラメーター名 ✔️ ❌
Blazor: WebEventDescriptor.EventArgsType プロパティが置き換えられました ❌ ❌
Blazor: バイト配列相互運用 ✔️ ❌
Changed MessagePack library in @microsoft/signalr-protocol-msgpack ❌ ✔️
ClientCertificate プロパティで HttpSys の再ネゴシエーションがトリガーされない ✔️ ❌
EndpointName メタデータが自動的に設定されない ✔️ ❌
Identity: UI の既定の Bootstrap バージョンが変更されました ❌ ❌
Kestrel: 変更されたログ メッセージ属性 ✔️ ❌
Microsoft.AspNetCore.Http.Features の分割 ❌ ✔️
ミドルウェア: HTTPS リダイレクトミドルウェアは、HTTPS ポートがあいまいな場合に例外をスローする ✔️ ❌
ミドルウェア: 新しい Use のオーバーロード ✔️ ❌
RC 1 での最小限の API の名前変更 ❌ ❌
RC 2 での最小限の API の名前変更 ❌ ❌
System.Text.Json を使用すると、MVC で IAsyncEnumerable 型がバッファーされない ✔️ ❌
null 許容参照型の注釈の変更 ✔️ ❌
古い API と削除された API ✔️ ❌
PreserveCompilationContext が既定で構成されない ❌ ✔️
Razor: コンパイラによって Views アセンブリが生成されなくなりました ✔️ ❌
Razor: ログ ID の変更 ❌ ✔️
Razor: 古いとしてマークされた RazorEngine API ✔️ ❌
SignalR: Java クライアントの RxJava3 への更新 ❌ ✔️
TryParse および BindAsync メソッドが検証される ❌ ❌