日程Fit|「いつ空いてますか?」の往復はもう不要。候補日を選んでURLを送るだけ|登録不要|今すぐ無料で使う →

.NET 11 Preview 5の変更点まとめ|新機能・影響・更新時の注意点

「.NET 11 Preview 5」は、2026年6月9日に公開された.NET 11の第5プレビューです。結論から言うと、本番環境へ急いで適用する更新ではありません。安定版を運用している一般ユーザーや管理者は原則として対応不要で、.NET 11への移行を先行検証する開発者、ライブラリ作者、CI/CD担当者がテスト環境で確認するリリースです。

SDKは「11.0.100-preview.5」、ランタイムは「11.0.0-preview.5」です。Preview 5は通常の本番サポート対象ではなく、今回のリリースは非セキュリティ修正として案内されています。検証する場合は、既存環境を置き換えず、SDKのバージョンを固定した検証用ブランチやCI環境を用意するのが安全です。(Microsoft for Developers)

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

.NET 11 Preview 5の変更点を先に整理

主な変更点は次のとおりです。

領域主な変更特に確認すべき人
.NET SDKファイルベースアプリの参照機能、SDKの脆弱性・サポート期限チェック、MCPサーバーテンプレートCLI、CI/CD、コンテナを利用する開発者
.NETライブラリJSON Lines、LINQの完全外部結合、X25519、ジェネリック版Random共通ライブラリやデータ処理を開発する人
ランタイムasync処理、JIT、GCの性能改善高負荷サーバーやバッチ処理の開発者
C# 15closedクラス階層、union、unsafe evolution新しい言語機能を先行検証する人
ASP.NET CoreBlazor SSR検証、QuickGrid、WebAssembly Gateway、セッション連携Blazor、Web APIの開発者
.NET MAUIAndroid最小API変更、Windows Maps、アニメーションAPI改善モバイル・Windowsアプリ開発者
EF Core 11SQL Server互換性レベル変更、EF1004警告、生成SQL改善SQL ServerやCosmos DBを利用する人

単に機能が増えただけでなく、Androidの最小APIレベル、SQL Serverの既定互換性レベル、Blazorコンポーネントの出力など、既存アプリの動作確認が必要な変更も含まれています。(GitHub)

.NET SDKとCLIの変更点

ファイルベースアプリから別のC#ファイルを参照できる

.NET 11で導入が進められているファイルベースアプリに、C#ファイルを参照するための#:refディレクティブが追加されました。

小規模なツールや検証コードを、従来のようにプロジェクトファイルを作成せず複数ファイルへ分割しやすくなります。1ファイルでは収まらない社内スクリプトや、サンプルコードの整理に向いた変更です。

一方、同じファイルを重複して参照した場合などは診断対象になります。Preview 5で作成したコードを正式版まで維持する場合は、今後の仕様変更も考慮してください。(GitHub)

使用中のSDKに脆弱性やサポート終了がないか確認できる

使用中の.NET SDKについて、既知の脆弱性やサポート終了状態をビルド時に確認する機能が追加されました。現時点ではオプトインで、プロジェクトファイルなどに次の設定を追加します。

<PropertyGroup>
  <CheckSdkVulnerabilities>true</CheckSdkVulnerabilities>
</PropertyGroup>

問題が見つかった場合は、NETSDK1236NETSDK1237などの警告が出力されます。チェックにはキャッシュされた情報が使われ、通常のビルド中に毎回ネットワークへ接続する仕組みではありません。

CIで有効にする場合は、いきなり警告をエラー扱いにせず、最初に現在のSDKがどのように判定されるかを確認すると安全です。(GitHub)

MCPサーバーテンプレートが追加された

Model Context Protocolに対応するサーバーを作成するためのテンプレートが追加されました。ローカル通信を使用するひな型は、次のコマンドで作成できます。

dotnet new mcpserver --transport local

AIツールと.NETアプリを連携するMCPサーバーを、ゼロから構成する手間を減らせます。ただし、認証、アクセス制御、入力値の検証まで自動的に安全になるわけではありません。外部公開する場合は、生成されたテンプレートをそのまま本番利用せず、権限設計と監査ログを追加してください。(GitHub)

コンテナレジストリの認証処理が厳格化された

コンテナイメージを発行する際、レジストリが返す認証用Realmの検証が厳格化されています。

標準的なレジストリでは大きな影響はありませんが、独自レジストリ、社内プロキシ、特殊な認証ゲートウェイを使用している環境では、これまで成功していた発行処理が失敗する可能性があります。

Preview 5をCIへ導入する前に、次の処理を実際の接続先で確認してください。

  • レジストリへのログイン
  • コンテナイメージのビルド
  • イメージのプッシュ
  • プロキシ経由での認証
  • サービスアカウントによる自動発行

ライブラリとランタイムの主な新機能

JSON Linesを標準APIで扱える

1行ごとにJSONオブジェクトを記録するJSON Lines形式の読み書きを支援するAPIが追加されました。

JSON Linesは、大量ログ、ストリーミングデータ、AI処理用データセットなどで利用されます。巨大なJSON配列全体を一度にメモリへ読み込まず、行単位で処理しやすい点がメリットです。

独自実装を置き換える場合は、空行、不正なJSON、文字コード、改行コードの扱いが既存処理と同じかをテストしてください。(GitHub)

LINQで完全外部結合を記述しやすくなった

LINQに完全外部結合を行うFullJoinが追加されました。左右どちらか一方にしか存在しない要素も含めて取得できます。

たとえば、前月と今月の商品一覧を比較し、追加商品、削除商品、継続商品を一度に抽出する処理に向いています。従来は左外部結合と右側の差分処理を組み合わせる必要がありましたが、意図をコード上で表現しやすくなります。

ただし、EF Coreなどのクエリプロバイダーが同じ形でSQLへ変換できるとは限りません。データベースクエリで使用する場合は、生成SQLと実行計画も確認してください。(GitHub)

暗号化や乱数生成のAPIが拡張された

楕円曲線暗号のX25519や、ジェネリック型を利用するRandom関連APIなどが追加されています。

暗号機能については、APIが追加されたことだけを理由に既存方式を変更すべきではありません。通信相手との互換性、鍵管理、利用しているプロトコルの要件を確認したうえで採用してください。

async、JIT、GCが改善された

ランタイムでは、async処理の中断・再開、JITコンパイル、ガベージコレクションに複数の最適化が入っています。

公式情報ではマイクロベンチマークによる改善例も示されていますが、実際のアプリで同じ割合の高速化が得られるとは限りません。性能を判断するときは、次の指標を変更前後で比較する必要があります。

  • リクエストの平均・上位パーセンタイル応答時間
  • CPU使用率
  • メモリ使用量
  • GCの停止時間と発生回数
  • スループット
  • 起動時間

性能改善を目的にPreview 5へ移行するのではなく、まず同じ負荷テストを.NETの安定版とPreview 5の両方で実行してください。(GitHub)

C# 15のプレビュー機能

Preview 5では、C# 15の実験的な機能として、closedクラス階層、union、unsafe evolutionなどが紹介されています。

closedクラス階層

継承できる型の範囲を限定し、switch式などで派生型を網羅的に扱いやすくする仕組みです。

状態やイベントの種類が限定されるドメインモデルでは、処理漏れをコンパイラーで検出しやすくなります。

union

複数の候補型のうち、いずれか一つの値を保持する型を表現する機能です。

成功結果とエラー、複数種類のメッセージ、APIレスポンスの状態などを、曖昧なobjectや例外処理に頼らず表現しやすくなります。

利用時の注意点

これらはプレビュー中の言語機能です。構文や動作が正式版までに変わる可能性があり、一部では必要な属性や型を手動で用意する場合があります。

検証用コードでは利用できますが、公開ライブラリのAPIや長期間維持する業務システムの中心設計へ組み込むのは慎重に判断してください。(GitHub)

ASP.NET CoreとBlazorの変更点

Blazor SSRでクライアント側検証が有効になる

Blazorの静的サーバーサイドレンダリングで、DataAnnotationsValidatorを使用するフォームにクライアント側検証が適用されるようになりました。

送信後にサーバーからエラーが返るのを待たず、必須入力や文字数などの問題を表示しやすくなります。ただし、非同期検証の基盤は追加されたものの、非同期DataAnnotationsの組み込み対応はPreview 5時点で完成版ではありません。

既存フォームを検証する際は、サーバー側とクライアント側で異なるエラーが表示されないか、JavaScriptが無効な環境でも適切に検証されるかを確認してください。(GitHub)

QuickGridをインタラクティブモードなしで操作できる

QuickGridは、静的SSRでも並べ替えやページングの状態をURLへ反映できるようになりました。インタラクティブなBlazor接続を必要としない一覧画面を構築しやすくなります。

一方、内部で使われるHTML要素がボタンからリンクへ変わる箇所があるため、独自CSSを適用している場合は表示が崩れる可能性があります。スクリーンショットテストやブラウザーごとの表示確認が必要です。(GitHub)

Blazor WebAssembly Gatewayが追加された

スタンドアロンBlazor WebAssemblyアプリ向けにGatewayが用意され、従来の開発サーバーを置き換える構成が進められています。

SPAフォールバックなどを扱いやすくなりますが、リバースプロキシ、認証、キャッシュ制御を組み合わせている環境では、既存ルーティングと競合しないかを確認してください。(GitHub)

.NET MAUIで確認すべき変更

.NET MAUIでは信頼性改善に加えて、アニメーション、Windows Maps、Android対応に重要な変更があります。

Androidの最小APIレベルが24になる

.NET 11を対象とする.NET MAUIアプリでは、Androidの最小対応バージョンがAPI 24、つまりAndroid 7.0へ引き上げられます。

API 23以前の端末を業務で使用している場合、その端末は.NET 11版アプリのサポート対象外になります。端末台帳やMDMの情報を確認し、対象端末が残っていないかを調査してください。

プロジェクト側で最小バージョンを管理している場合は、次のような設定も確認します。

<PropertyGroup>
  <SupportedOSPlatformVersion Condition="$(TargetFramework.Contains('-android'))">
    24.0
  </SupportedOSPlatformVersion>
</PropertyGroup>

また、.NET 11ではAndroid API 37が既定のターゲットになります。利用しているSDK、エミュレーター、CIイメージも合わせて更新が必要です。(GitHub)

Windows MapsはAzure Mapsを利用する

Windows向けのMap実装はAzure Mapsを基盤として提供されます。利用にはAzure Mapsのサブスクリプションキーが必要です。

.NET自体は無償でも、Azure Mapsの利用量に応じた料金が別途発生する可能性があります。地図機能を有効にする前に、キーの保管方法、利用上限、請求アラート、開発環境と本番環境の分離を確認してください。

Preview 5では、ラベル、情報ウィンドウ、図形表示など、他のプラットフォームと同じように動作しない機能もあります。既存アプリの地図をそのまま置き換えられるとは限りません。(GitHub)

EF Core 11の変更点

SQL Serverの既定互換性レベルが160になる

EF Core 11のSQL Serverプロバイダーでは、既定の互換性レベルがSQL Server 2022相当の160へ変更されます。

古いSQL Serverや低いデータベース互換性レベルを使用している場合は、生成されたSQLが実行できない可能性があります。移行前にデータベースのバージョンと互換性レベルを調査し、必要ならUseCompatibilityLevelで明示的に指定してください。

特に、開発環境だけSQL Server 2022で、本番環境が古い構成になっている場合は見落としやすいため注意が必要です。(GitHub)

同期列挙につながるコードが警告される

IQueryable<T>に対してToAsyncEnumerable()を使用し、実際には同期列挙が発生する可能性があるコードに、EF1004警告が表示されます。

該当する場合は、意図に応じてAsAsyncEnumerable()などへ修正します。警告を一括で無効化する前に、データ取得が本当に非同期になっているかを確認してください。

廃止済みAPIとCosmos DBのID生成を確認する

EF Core 11では、以前から非推奨だった一部APIが削除されています。また、Cosmos DBで複合キーから生成されるidのエスケープ方法にも変更があります。

アップグレード前に、次の点を確認してください。

  • コンパイル警告を放置していないか
  • 非推奨APIを独自ライブラリが利用していないか
  • Cosmos DBの既存データと新規データでID形式が一致するか
  • マイグレーションで生成されるSQLに意図しない差分がないか
  • 実行計画やインデックス利用状況が変化していないか

(GitHub)

誰に影響するのか

利用者・担当者影響推奨する対応
安定版.NETアプリの一般利用者低いアプリ提供元から案内がない限り手動更新しない
本番環境の管理者低いPreview 5を本番サーバーへ配布しない
.NET 11への移行担当者高い検証用ブランチとCIでビルド・テストする
ASP.NET Core開発者中~高Blazorの検証、QuickGrid、ルーティング、OpenAPIを確認する
.NET MAUI開発者高いAndroid API 24とAzure Mapsの影響を確認する
EF Core利用者高いSQL互換性レベル、生成SQL、非推奨APIを確認する
ライブラリ作者中~高安定版とのマルチターゲットで互換性を検証する
CI/CD管理者高いSDKを固定し、コンテナ認証とワークロードを検証する

一般ユーザーがPreview 5のランタイムを先回りして導入するメリットはほとんどありません。アプリが特定のPreview版を要求する場合も、提供元の手順と対象バージョンを確認してからインストールしてください。

.NET 11 Preview 5の安全な更新・検証手順

検証環境へSDKを導入する

Windowsでは最新のVisual Studio 2026 Insidersが推奨されており、Visual Studio CodeではC# Dev Kitを利用できます。既存の本番サーバーではなく、開発PC、コンテナ、検証用ビルドエージェントへ導入してください。(Microsoft for Developers)

導入後は次のコマンドで選択されているSDKを確認します。

dotnet --list-sdks
dotnet --version
dotnet --info

dotnet --versionが意図しないPreview版になっている場合は、カレントディレクトリや上位ディレクトリにあるglobal.jsonを確認してください。

global.jsonでSDKを固定する

CIやチーム開発では、インストール済みの最新SDKへ自動的に切り替わらないよう、global.jsonでPreview 5を固定します。

{
  "sdk": {
    "version": "11.0.100-preview.5.26302.115",
    "allowPrerelease": true,
    "rollForward": "disable"
  }
}

完全一致で固定すると再現性は高まりますが、すべての開発PCとビルドエージェントへ同じSDKを導入する必要があります。SDK更新を自動化している組織では、固定値の更新手順も決めておきましょう。(Microsoft)

検証用ブランチでターゲットを変更する

アプリのターゲットフレームワークを検証用ブランチでnet11.0へ変更します。

<TargetFramework>net11.0</TargetFramework>

ライブラリでは、既存利用者へPreview版を強制しないよう、安定版とのマルチターゲットも検討できます。

<TargetFrameworks>net10.0;net11.0</TargetFrameworks>

続いて、復元、ビルド、テスト、発行まで一通り実行します。

dotnet restore
dotnet build
dotnet test
dotnet publish

コンパイルが成功しても、実行時の互換性まで保証されたわけではありません。データベース接続、認証、ファイル入出力、外部API、コンテナ発行など、実運用と同じ経路を確認してください。

移行時に失敗しやすいポイント

失敗例原因対策
開発者ごとに結果が異なるSDKの選択バージョンが異なるglobal.jsonで固定する
CIだけビルドに失敗するPreview SDKやMAUIワークロードが未導入ビルドイメージとワークロードを明示する
コンテナを発行できないレジストリ認証の検証が厳格化された実際のレジストリとプロキシでテストする
Blazorの表示が崩れるQuickGridのHTML要素や挙動が変わったCSSと画面テストを見直す
古いAndroid端末で動かない最小APIが24へ変更された端末台帳を確認し、移行計画を作る
地図機能で請求が発生するWindows MapsがAzure Mapsを利用する使用量上限と請求アラートを設定する
本番DBでSQLエラーになるSQL Server互換性レベルの差本番相当環境で生成SQLを確認する
Preview構文が将来動かなくなるC# 15の仕様が確定していない公開APIや中核設計への採用を控える

Preview版の検証では、成功した項目だけでなく、使用したSDK、OS、データベース、IDE、ワークロードのバージョンも記録しておくことが重要です。次のPreviewやRCへ更新した際に、変更による差分を追いやすくなります。

料金とサポート期限

.NETのSDKとランタイム自体には、商用利用を含めてライセンス料金はかかりません。ただし、Azure Mapsなどのクラウドサービス、サードパーティー製ライブラリ、利用する開発ツールについては別途料金が発生する場合があります。(Microsoft)

.NET 11の正式版は2026年11月10日に公開予定で、STSとして2028年11月9日までのサポートが予定されています。ただし、これは正式版のサポート期間です。Preview 5が2028年までサポートされるわけではありません。Preview 5には本番向けの個別サポート期限が設定されていないため、検証を続ける場合は新しいPreview、RC、正式版へ順次更新する前提で運用してください。(GitHub)

.NET 11 Preview 5で今すべきこと

安定版を本番運用している場合、Preview 5へ急いで移行する必要はありません。まずは現在のターゲットフレームワークとサポート期限を維持し、正式版の公開に向けた検証計画を作成します。

先行検証する場合は、次の順番で進めると安全です。

  1. 本番とは分離した検証用ブランチを作成する
  2. SDK 11.0.100-preview.5を導入する
  3. global.jsonでSDKを固定する
  4. 復元、ビルド、テスト、発行を実行する
  5. Blazor、MAUI、EF Coreなど影響が大きい領域を重点確認する
  6. SDK、OS、データベース、ワークロードの構成を記録する
  7. 新しいPreviewや正式版が公開されたら同じテストを再実行する

特に.NET MAUIのAndroid API 24、EF CoreのSQL Server互換性レベル160、Blazor QuickGridの出力変更は、コンパイル成功だけでは問題を発見できません。実際の端末、ブラウザー、データベース、コンテナレジストリを使用した検証まで行ってから、正式版への移行可否を判断してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次