2026-08-31 comparisonautomappermapperly AutoMapper と Mapperly と手書きマッピングの比較 (2026年版) 新しい .NET コードでは Mapperly が既定の選択です。手書きマッピングと同等の速度で、Native AOT でも動作し、マップ漏れをコンパイル時に検出します。ProjectTo では AutoMapper が依然として優位です。ベンチマークとライセンスのしきい値付き。
2026-08-29 errorsdotnetcsharp Fix: CA1070 "Do not declare event fields as virtual" CA1070 はフィールドライクイベントに virtual が付いていると発生します。virtual を外して非仮想のままにし、派生クラスには protected virtual な OnXxx を override させてください。
2026-08-29 errorsmauidotnet Fix: .NET MAUI の Android アプリをインストールすると Doesn't support required ABI になる APK に端末の CPU 向けのネイティブライブラリが入っていないのが原因です。.NET 9 以降、Android の RuntimeIdentifiers の既定値は 64 ビットのみになったため、RuntimeIdentifiers を明示的に指定して解決します。ADB0020、XA0036、NETSDK1083、ABI と RID の対応、Play Console の文言、そして誰もがコピーする 4 つの RID のスニペットが .NET 11 で壊れる理由を扱います。
2026-08-29 errorsdotnetdocker 解決: failed to resolve source metadata for mcr.microsoft.com/dotnet/aspnet BuildKit がベースイメージのマニフェストを読めていません。タグの存在確認、Docker credential helper の修復、MCR の 2 つのエンドポイント開放、オフラインビルド向けの事前 pull を順に確認します。
2026-08-28 aspiredotnetdotnet-11 Aspire 13.5 はダッシュボードの中に本物のターミナルを載せる WithTerminal() はリソースに対話的な PTY セッションを与え、ダッシュボードから直接入力したり、自分のシェルからアタッチしたりできます。実験的機能であり、デバッガーは自動接続されず、以前あった Shell オプションは削除されました。
2026-08-28 migrationdotnetnuget Directory.Packages.props で .NET ソリューションを Central Package Management に移行する すべてのパッケージバージョンを csproj から 1 つの Directory.Packages.props へ移します。競合するバージョンを本物の semver 順序で統合する生成スクリプト、何が動いたかを証明する移行前後の依存関係グラフ差分、NU1008/NU1010/NU1013/NU1507、推移的ピン留め、GlobalPackageReference、VersionOverride、そしてネストした Directory.Packages.props がルートのものを黙って覆い隠す理由を解説します。
2026-08-27 dotnetcsharpaspnetcore Blazor コンポーネントで見出しレベル (h1-h6) を実行時に決めてレンダリングする方法 Razor にはタグ名を変数にする構文がなく、DynamicComponent はコンポーネント型しかレンダリングできません。BuildRenderTree をオーバーライドして builder.OpenElement(0, $"h{level}") を呼び出します。属性の受け渡し、タグ名を DOM に渡す前に範囲制限すべき理由、レベルを変えると @key を付けても要素が DOM から作り直される理由、カスケード値による自動レベル付けまで解説します。
2026-08-24 dotnetmauiblazor .NET MAUI 10.0.100 がカスタム BlazorWebView バックエンド向けに UsePlatformHandler を追加 MAUI 10.0.100 で MauiBlazorWebViewBuilderExtensions.UsePlatformHandler が導入されました。AddMauiBlazorWebView() が登録するものをすべて作り直すことなく BlazorWebViewHandler を差し替えられる正式な拡張ポイントです。2 つのオーバーロードと、1 つの呼び出し順序の落とし穴を解説します。
2026-08-23 csharplinqdotnet C# で IEnumerable<T> がすでにマテリアライズ済みかどうかを判定する方法 IEnumerable<T> に HasBeenEnumerated フラグはありません。TryGetNonEnumeratedCount が実際に何を調べているのか、なぜ Enumerable.Range が ICollection<T> のテストを通過するのか、そして無駄な ToList() を避けるガードを解説します。
2026-08-23 ef-corelinqcsharp EF Core が Where、Select、OrderBy で変換できる再利用可能な LINQ 述語の書き方 bool を返すヘルパーメソッドは "could not be translated" を投げますが、Expression<Func<T, bool>> は投げません。LINQKit なしで EF Core 11 の式ツリーを合成、入れ子、再利用する方法を、各ケースの実際の SQL 付きで解説します。