2026-10-13 errorsdotnetdotnet-10 修正: Windows で書き込み中のファイルに対して FileInfo.Length が古いサイズを返す FileInfo はサイズをキャッシュし、列挙では NTFS が遅延更新するディレクトリエントリを読み、さらに書き込み側が自前のバッファーにバイトを保持していることもあります。Refresh() を呼ぶか、より確実には共有ハンドルから RandomAccess.GetLength で長さを読み取ってください。
2026-10-12 fluentvalidationnative-aotdotnet FluentValidation 12.2 で [Flags] 列挙型の IsInEnum() が native AOT アプリをクラッシュさせる問題が修正されました 2026-10-10 にリリースされた FluentValidation 12.2.0 は EnumValidator 内の Enum.GetValues を Enum.GetValuesAsUnderlyingType に置き換えたため、[Flags] 列挙型に対する IsInEnum() が native AOT バイナリで NotSupportedException をスローしなくなりました。
2026-10-12 csharpdotnet-10console C# のコンソールゲームループで Console.ReadKey の前にバッファされたキー入力を破棄する方法 新しいキーを待つ前に while (Console.KeyAvailable) Console.ReadKey(true) で入力バッファを空にし、ゲームループでは毎フレーム空にしてキーリピートが溜まらないようにします。.NET 10 の Windows と Unix でのバッファの仕組み、キーを押し続けると遅延する理由、Unix のエコーの罠、FlushConsoleInputBuffer も解説します。
2026-10-11 ef-coredotnet-10csharp EF Core でエンティティを Attach する前に、DbContext がすでに追跡しているか確認する方法 DbSet.Local.FindEntry(key) を使えば、データベースへの往復やスキャンなしで、指定したキーのエンティティが追跡されているかを変更トラッカーに問い合わせられます。この確認で Entry(entity).State が当てにならない理由、Find がクエリを発行する理由、EF Core 10 で検証済みの AttachOrMerge ヘルパーを紹介します。
2026-10-11 csharpdotnetfile-io 別のプロセスが書き込み中のログファイルを C# で tail する方法 FileShare.ReadWrite | FileShare.Delete でログを開き、末尾にシークして新しいバイトをポーリングし、StreamReader ではなく自前の UTF-8 Decoder でデコードし、切り詰めとローテーションを明示的に処理します。.NET 10 と .NET 11 向けに検証済みの tail -F 実装です。
2026-10-11 quartz-netdotnetcsharp Quartz.NET 4.4: ジョブが成果を報告し、ヘルスチェックが停止に気づく Quartz.NET 4.4.0 では、ジョブが context.Result に JobRunReport (Succeeded、Failed、Cancelled、Skipped と、サマリーおよびメトリクス) を設定でき、その結果がジョブごとに実行履歴へ保存されます。さらに RequireSuccessWithin ヘルスチェックにより、夜間ジョブが成功しなくなったときに Degraded を報告できます。
2026-10-10 dotnetdotnet-11csharp .NET の正規表現でバランシンググループを使って、ネストした括弧とタグの対応を一致させる方法 バランシンググループ (?<name>) と (?<-name>) を使うと、.NET の正規表現のキャプチャグループをスタックとして扱えるため、1 つのパターンで任意の深さにネストした括弧や <div> タグに一致させられます。完全なパターン、スタックの仕組み、(?<inner-open>) による内側の内容のキャプチャ、そして .NET 11 RC1 で確認した注意点 (空スタックのチェック、壊滅的なバックトラック、NonBacktracking、複数種類の括弧の混在) を解説します。
2026-10-10 dotnet-11csharpinterop 透過的な構造体レイアウトとは何か、そして単一フィールドのラッパー構造体が .NET の呼び出し規約を変えるのはなぜか 透過的な構造体とは、ABI が唯一のフィールドとまったく同じように扱う構造体のことです。.NET 11 にはその保証がありません。double をラップした構造体は、Windows x64 では RCX で渡されますが、Linux と macOS では XMM0 で渡されます。本記事では、3 つの ABI での .NET 11 JIT の逆アセンブル結果、それが引き起こす P/Invoke のバグ、そしてあらゆる境界で安全なラッパー型の書き方を示します。
2026-10-09 dotnetsemantic-kernelai-agents Semantic Kernel 1.81 で FileIOPlugin が AllowedFolders 外のファイル情報を漏らさなくなりました Semantic Kernel .NET 1.81.0 は FileIOPlugin のオラクル問題を修正しました。これまで WriteAsync は、AllowedFolders 外のファイルが存在すること、読み取り専用であること、その場所をモデルに伝えていました。修正前後の挙動を実測しています。
2026-10-07 vscodecsharpdotnet-11 C# Dev Kit 11.0 は 6 つのプロセスを 1 つの Native AOT バイナリに統合しました C# Dev Kit 11.0 のプレリリースでは、6 つのマネージドプロセスが単一の Native AOT 製 CSDevKit プロセスと永続的なプロジェクトキャッシュに置き換わりました。407 プロジェクトの Aspire ソリューションが、84.1 秒ではなく 3.0 秒で使えるようになり、メモリ使用量も 2,072 MB から 316 MB に減りました。