2026-08-16 csharpdotnetdotnet-11 Blazor のシングルトンサービスから IDbContextFactory<T> を使う方法 シングルトンは DbContext を注入できませんが、IDbContextFactory<T> なら注入できます。AddDbContextFactory がファクトリを既定でシングルトンとして登録するからです。呼び出しごとにコンテキストを生成して破棄し、インスタンスは決して保持しないでください。
2026-08-15 dotnet-11dotnetcsharp .NET 11 Preview 7 で System.IO.Compression がついに暗号化 ZIP を読み書きします .NET 11 Preview 7 は System.IO.Compression にパスワード保護された ZIP エントリを追加します。AES-256 のサポート、ディレクトリ全体を扱う操作向けのオプション型、そして main では既に修正済みの空ファイルの不具合について解説します。
2026-08-15 comparisoncsharpdotnet ASP.NET Core 11 の OpenAPI ドキュメントにおける Scalar と Swagger UI の比較 Scalar は gzip 圧縮後 1.02 MiB の JavaScript と、はるかに優れたリクエストビルダーを配信します。Swagger UI は 514 KiB で、.NET 11 が既定で出力する OpenAPI 3.2 をレンダリングします。実測したペイロード、3.2 対応の差、両者のエンドポイントルーティング、そして決め手になる認証まわりの詳細をまとめます。
2026-08-15 comparisondotnetdotnet-11 .NET 11 のレスポンス圧縮における Zstandard と Brotli と Gzip の比較 .NET 11 の動的な API レスポンスには Zstandard が正しい既定値ですが、ASP.NET Core のプロバイダーが出荷時に設定している品質のままではいけません。実際の JSON ペイロードを使ったベンチマークで、品質 1 が既定の品質 3 をサイズと CPU の両方で上回る理由、Brotli が今も勝つ場面、そして Gzip が互換性のためのフォールバックとしてのみ残る理由を示します。
2026-08-13 dotnet-11aspnetcoreblazor Blazor Server のサーキットがタブのアイドル時に自動で一時停止するようになりました .NET 11 Preview 7 では、ブラウザーのタブが非表示になったときに対話型 Server サーキットを一時停止するオプトインのパッケージが追加され、実際にはいないユーザーが抱え込んでいたメモリと SignalR 接続が解放されます。
2026-08-13 errorsblazoraspnet-core 解決: 新しい .NET SDK をインストールした後に blazor.server.js が 404 Not Found になる .NET 10 では Blazor スクリプトが埋め込みリソースではなくなったため blazor.server.js が 404 になります。ホストプロジェクトに RequiresAspNetWebAssets を追加するか、.razor ファイルを置いてください。
2026-08-12 dotnet-11csharpcsharp-15 .NET 11 Preview 7 で C# 15 にラベル付き break と continue が追加されました ラベル付き break と continue が .NET 11 Preview 7 の C# セクションに入りました。ループにラベルを付けて直接ジャンプできるようになり、入れ子のループで使っていた bool フラグや goto の回避策が不要になります。
2026-08-12 errorsdotnetdotnet-10 修正: dotnet tool install --global dotnet-ef がエラーを出す .NET 10 SDK で dotnet tool install --global dotnet-ef が失敗するすべてのパターンを、正確なメッセージと終了コード付きで解説します。インストール済み、バージョンが見つからない、ダウングレード拒否、shim の衝突、到達できない NuGet フィード、そしてインストール成功後に初めて壊れるランタイム不一致。
2026-08-12 errorsaspnetcoredotnet 解決: The 'interceptors' feature is not enabled in this namespace CS9137 は Microsoft.AspNetCore.OpenApi のソースジェネレーターが原因です。PackageReference を持つプロジェクトだけでなく、AddOpenApi を呼び出すすべてのプロジェクトに InterceptorsNamespaces を追加してください。
2026-08-11 errorsaspnetcoredotnet 解決: The type or namespace name 'OpenApiReference' could not be found OpenApiReference は Microsoft.OpenApi 2.0 で削除されました。using を Microsoft.OpenApi に変えるだけでは不十分で、各箇所を OpenApiSchemaReference のような型付き参照に置き換えます。