2026-07-27 csharpdotnetdotnet-11 dotnet-gcdump と dotnet-dump でマネージドメモリリークを診断する方法 .NET 11 でマネージドメモリリークを見つけるための完全な手順です。dotnet-counters で増加を確認し、gcdump を 2 回取得して差分を見て、その後ダンプを収集して dotnet-dump analyze の dumpheap、gcroot、objsize で参照を保持しているものを突き止めます。
2026-07-27 dotnetdotnet-11csharp dotnet publish /t:PublishContainer で .NET 11 アプリをコンテナーイメージとして発行する方法 Dockerfile なしで .NET 11 アプリからコンテナーイメージをビルドする完全ガイドです。PublishContainer ターゲット、ContainerRepository と ContainerImageTags、ContainerBaseImage と ContainerFamily によるベースイメージの選択、レジストリへのプッシュと認証の解決順序、マルチアーキテクチャの OCI イメージインデックス、既定の非 root ユーザー、entrypoint の制御、スキャナー向けの tarball 出力、そして今も Dockerfile が必要になるケースを扱います。
2026-07-27 csharpdotnetdotnet-11 System.Text.Json で JsonDerivedType を使ってポリモーフィックな型階層をシリアライズする方法 .NET 11 におけるポリモーフィック JSON の完全ガイドです。JsonDerivedType と JsonPolymorphic、宣言された型がすべてを決める理由、$type の順序ルール、この機能がスローするすべての例外、自分で所有していない型のためのコントラクトモデル、そして ASP.NET Core が OpenAPI に出力する内容を扱います。
2026-07-26 aspiredotnetaspnetcore 既存の ASP.NET Core ソリューションを作り直さずに Aspire を追加する方法 既存の ASP.NET Core ソリューションに Aspire 13.4 を追加します。新しいプロジェクト 2 つとサービスあたり 3 行だけで済ませる手順として、aspire init、AddProject と WithReference による AppHost の配線、既存の launchSettings.json と接続文字列の維持、そして初日にぶつかる resilience、ヘルスエンドポイント、プロキシの落とし穴を解説します。
2026-07-26 csharpdotnetdotnet-11 .NET 11 で TimeProvider と FakeTimeProvider を使って時間依存コードをテストする方法 DateTime.UtcNow、Stopwatch、Task.Delay を System.TimeProvider に置き換えて、テストから時計を制御します。依存性注入への登録、FakeTimeProvider.Advance と SetUtcNow、タイムアウトや PeriodicTimer ベースの BackgroundService のテスト、そして Advance と継続処理の落とし穴と xUnit v2 の問題まで解説します。
2026-07-26 csharpdotnetdotnet-11 ASP.NET Core 11 で WebApplicationFactory<T> を使って統合テストを書く方法 ASP.NET Core 11 における WebApplicationFactory<TEntryPoint> の完全ガイドです。Program エントリポイントを到達可能にする方法、ConfigureTestServices と ConfigureWebHost の違い、IDbContextOptionsConfiguration 経由での EF Core 登録の差し替え、.NET 11 プレビュー 6 の新しい ConfigureHostApplicationBuilder フック、認証の偽装、WebApplicationFactoryClientOptions、そして実際のポートが必要なときの UseKestrel を解説します。
2026-07-25 migrationcsharpdotnet レガシーな C# コードベースでブロッキングな .Result/.Wait() 呼び出しを全面的な非同期へ移行する 既存の .NET コードベースから sync-over-async を取り除くための段階的な手順書です。アナライザーで棚卸しし、ThreadPool の枯渇を計測し、呼び出しチェーンを 1 本ずつ変換して、.NET 11 で件数をゼロまで削り込みます。
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 migrationswashbuckleopenapi .NET 11 で Swashbuckle の IOperationFilter と ISchemaFilter を OpenAPI トランスフォーマーに移行する Swashbuckle の IOperationFilter と ISchemaFilter のコードを .NET 11 の組み込みのオペレーショントランスフォーマーとスキーマトランスフォーマーへ移すための、フィルターごとの移行リファレンスです。コンテキストオブジェクトのマッピングと、コンパイルを壊す Microsoft.OpenApi v2 の変更を扱います。