2026-07-25 migrationdotnetdotnet-11 .NET 11 で ILogger の文字列補間から構造化ログのメッセージテンプレートへ移行する $ 補間を使った ILogger 呼び出しを、メッセージテンプレートと [LoggerMessage] によるソース生成メソッドへ .NET 11 で置き換える手順: 何が壊れるか、CA2254 でコードベースを一掃する方法、JSON の State を検証する方法、ロールバックの手順。
2026-07-24 comparisoncsharpdotnet ASP.NET Core 11 のエンドポイントフィルター vs ミドルウェア: どちらを使うべきか ASP.NET Core 11 のための判断ガイド。ミドルウェアはハンドラーがバインドを行う前にすべてのリクエストで実行され、エンドポイントフィルターは一致したエンドポイントに対してのみ、バインドの後に実行され、型付き引数を見ることができます。比較表、それぞれを選ぶ場面、順序のルール、選択を強制する要点を含みます。
2026-07-24 comparisoncsharpdotnet C# の .Result vs .Wait() vs GetAwaiter().GetResult() vs await: どれを使うべきか await はほぼ常に正しい答えです。本当にブロックしなければならないときは、GetAwaiter().GetResult() が元の例外をスローするため .Result や .Wait() より優れています。.NET 11 と C# 14 のための判断マトリクスです。
2026-07-23 comparisoncsharpdotnet ASP.NET Core 11 における型付き結果 (Results<>) vs IResult vs IActionResult ASP.NET Core 11 では、minimal API には TypedResults を使って Results<T1, TN> を返し、コントローラーには ActionResult<T> を返します。素の IResult と素の IActionResult は非常手段として扱いましょう。どんなレスポンスでもコンパイルは通りますが、OpenAPI には何も伝えないため、手書きの ProducesResponseType 属性という代償を払うことになります。
2026-07-21 errorscsharpcsharp-14 解決: CS4014 "Because this call is not awaited, execution of the current method continues" in C# CS4014 は Task を返すメソッドを await せずに呼び出したことを意味します。await を追加するか、意図的な fire-and-forget なら _ = で破棄し、例外を処理してください。
2026-07-21 errorscsharpdotnet 解決: System.InvalidOperationException: Sequence contains no elements この例外は、空のシーケンスに対して .First() や .Single() を呼び出したことを意味します。FirstOrDefault/SingleOrDefault で null をチェックするか、クエリをガードするか、ソースが空になる原因を修正します。
2026-07-20 errorscsharpcsharp-14 解決: C# の CS8618「Non-nullable property must contain a non-null value when exiting constructor」 CS8618 は、null 非許容のフィールドまたはプロパティがコンストラクター終了時に初期化されていないことを意味します。コンストラクターで代入する、既定値を与える、required にする、または null 許容にして解決します。
2026-07-20 csharpdotnetdotnet-11 解決: C# で async メソッドに対して .Result や .Wait() を呼ぶとデッドロックする SynchronizationContext が存在する場合、.Result や .Wait() で async の Task をブロックするとデッドロックします。なぜハングするのか、.NET 11 と C# 14 でどう解決するかを説明します。
2026-07-19 csharpdotnetdotnet-11 ASP.NET Core 11 の Minimal API に health check エンドポイントを追加する方法 ASP.NET Core 11 の Minimal API における health checks の完全で実用的なガイドです。AddHealthChecks と MapHealthChecks、Healthy/Degraded/Unhealthy を返すカスタム IHealthCheck クラス、EF Core のプローブ AddDbContextCheck、Kubernetes 向けのタグベースの liveness と readiness エンドポイント、JSON の ResponseWriter、ResultStatusCodes、RequireAuthorization と RequireHost によるエンドポイントの保護、そして IHealthCheckPublisher による結果のプッシュを扱います。
2026-07-19 csharpdotnetdotnet-11 ASP.NET Core 11 の minimal API にエンドポイントフィルターを追加する方法 ASP.NET Core 11 の minimal API におけるエンドポイントフィルターの完全な実践ガイドです。インラインのデリゲートを使う AddEndpointFilter、DI を伴う IEndpointFilter クラス、GetArgument と Arguments リスト、Results.Problem によるショートサーキット、複数フィルターでの FIFO/FILO の順序、MapGroup でのグループ単位のフィルター、シグネチャに依存するフィルターのための AddEndpointFilterFactory を扱います。