2026-09-23 dotnet-10dotnet-11configuration 修正: IConfiguration.Bind が appsettings.json から配列や List<T> プロパティに値を設定しない バインダーは、public setter のない配列プロパティ、get のみの IReadOnlyList<T>、フィールド、そしてソースジェネレーター使用時の init 専用メンバーを黙ってスキップします。さらに既定値を置き換えずに追記します。.NET 10.0.12 と 11 RC 1 で計測しました。
2026-09-23 system-text-jsoncsharpdotnet-10 System.Text.Json で Vector3 や Quaternion などの public フィールドをシリアル化する方法 Vector3 や Quaternion はデータを public フィールドに保持しているため、System.Text.Json は Vector3 を {}、Quaternion を {"IsIdentity":false} として書き出します。IncludeFields、カスタムコンバーター、リゾルバーの修飾子、ソース生成でこれを解決する方法を、.NET 10 と .NET 11 RC 1 で計測しながら解説します。
2026-09-22 aspnetcoredotnet-11minimal-apis ASP.NET Core 11 で単一の minimal API フォームエンドポイントだけ antiforgery 検証を無効化する方法 対象のエンドポイント、または MapGroup に .DisableAntiforgery() を付けます。ASP.NET Core 11 ではこれ 1 つでトークンミドルウェアと新しい自動 CSRF チェックの両方から除外されます。実測したマトリクス、優先順位の落とし穴、より範囲の狭い代替手段を解説します。
2026-09-20 ef-coreef-core-11scaffolding IPluralizer で dotnet ef dbcontext scaffold のテーブル名複数形化をカスタマイズする方法 Gas という名前のテーブルは Ga というエンティティにスキャフォールドされます。組み込みの Humanizer 複数形化サービスを独自の IPluralizer に置き換え、スタートアッププロジェクトの IDesignTimeServices から登録する方法と、そこで TryAddSingleton が黙って何もしない理由を解説します。
2026-09-20 ef-coreef-core-11concurrency 2 つのアプリインスタンスが同じメッセージを消費するときに EF Core 11 で冪等なメッセージ処理を保証する方法 ハンドラーの存在チェックは、あなたが思っているようなガードではありません。inbox テーブルに一意インデックスを張り、業務上の変更と同じ SaveChanges でマーカーを書き込み、勝者はデータベースに決めさせます。さらに、それを静かに台無しにする ExecuteUpdate の罠も扱います。
2026-09-20 aspnetcoreaspnetcore-11azure 1 つの ASP.NET Core リクエストの中でデータベース書き込みと Azure Blob Storage へのアップロードの整合性を保つ方法 SQL Server と Blob Storage をまたぐトランザクションは存在しません。データベースが既に知っている名前にアップロードし、コミットは後から行い、失敗時には補償し、クラッシュの隙間はスイーパーに片付けさせます。条件付き作成を黙って上書きに変えてしまう UploadAsync のオーバーロードについても。
2026-09-19 ef-coreef-core-11migrations EF Core 11 のマイグレーションで主キー、外部キー、インデックスにカスタム命名規則を適用する方法 EF Core 11 が生成する PK_、FK_、AK_、IX_ の名前を 1 つの IModelFinalizingConvention ですべて付け替え、明示的に指定した名前を優先させ、識別子の長さ制限に収め、既存データベースで次のマイグレーションが生成するクラスター化インデックスの再構築を回避します。
2026-09-19 migrationef-coreef-core-11 EF Core 11 の生成 id エスケープ変更後に EF Core Cosmos アプリを移行する EF Core 11 は Cosmos DB の生成 id 値に含まれる '/', '\', '?', '#' をエスケープしなくなったため、EF Core 8-10 で書き込んだドキュメントがキーで解決できなくなります。影響を受けるかどうかの確認方法、EscapeIllegalCosmosIdCharacters スイッチを設定すべき場面、そしてトランザクションバッチで id を安全に書き換える方法を解説します。
2026-09-17 comparisondotnetdotnet-11 .NET 11 における Microsoft.Data.SqlClient と System.Data.SqlClient の比較 Microsoft.Data.SqlClient を使ってください。System.Data.SqlClient は非推奨で、触れる型すべてに CS0618 が出ます。さらに .NET 8 が 2026-11-10 にサポート終了を迎えると .NET 向けアセットが削除されます。その日は .NET 11 のリリース日でもあります。実測した機能差、マイグレーションを壊す Encrypt の既定値、そして 7.0 でのパッケージ分割について解説します。
2026-09-17 comparisondotnetdotnet-11 .NET 11 の Process.Run と Process.Start: どちらを使うべきか ツールを起動して終了の仕方だけが気になるなら Process.Run を使います。1 回の呼び出しで済み、タイムアウトで子プロセスを強制終了し、シグナルを含む ProcessExitStatus を返します。stdin への書き込み、出力を届いたそばから読む処理、UseShellExecute、プロセスツリー全体の強制終了など、Process オブジェクトが必要な場合は Process.Start を使い続けます。