Start Debugging

タグ: source-generators

11 件 · ページ1/2

Quartz.NET 4.2、不正なcron式をビルドエラーに変換
Quartz.NET 4.2.0には、パース不能なcronリテラルをコンパイル時にQZ0001としてエラーにするRoslynアナライザーと、[QuartzJob]および[CronTrigger]属性をAddDeclaredJobs()の登録に変換するソースジェネレーターが同梱されています。本記事では、何がチェックされるのか、生成されるコードがどのようなものか、そしてどうすれば無効化できるかを解説します。
Refit 16.1はページングループを自動生成: PagedEnumerable、[Paged]、[PageToken]
Refit 16.1.0では、インターフェースのメソッドがPagedEnumerable<TPage, TItem>を返せるようになり、ソースジェネレーターがカーソル、オフセット、レスポンスヘッダー、次へのリンクに対応したページ単位のリクエストループを生成します。宣言方法、列挙の挙動、メンバー名のタイプミスで発生するRF013ビルドエラーについて解説します。
MSTest 4.4 でリフレクション用ソースジェネレーターが正式版になり、Native AOT プロジェクトは自動で有効になります
MSTest 4.4 は MSTest.SourceGeneration を実験的な状態から外し、MSTest のバージョンに合わせます。Native AOT のテストプロジェクトはオプトインなしで取り込み、ReflectionFree モードは単純な [TestMethod] と [DataRow] について実行時の検出を省略できるようになり、5 つの AOTSG 診断がサポートされないテストの形を教えてくれます。
.NET で LogProperties とデータレダクションを使ってログから機微な値を伏せる方法
ソースジェネレーターが生成するログで分類済みデータをレダクションする完全ガイドです。タクソノミーの構築、Redactor の実装、EnableRedaction と AddRedaction の配線、そして部分マスクを静かに壊すディスクリミネーターまでを扱います。Microsoft.Extensions.Compliance.Redaction 10.9.0 の実際の出力付きです。
ソース生成された System.Text.Json のシリアル化を type info resolver のモディファイアーでカスタマイズする方法
.NET 11 でソース生成された JsonSerializerContext に JsonTypeInfo のモディファイアーを付ける方法です。new MyContext(options) が黙って破棄する理由、動作する WithAddedModifier の構成、失う高速パス(実測値つき)、そしてモディファイアーを無効化する命名ポリシーの落とし穴を扱います。
.NET 11 で new Regex(...) を [GeneratedRegex] ソースジェネレーターに置き換える方法
.NET 11 で new Regex(pattern, RegexOptions.Compiled) を [GeneratedRegex] に変換する完全ガイドです。機械的な書き換え、部分メソッドと部分プロパティの違い、実測した起動時間とスループット、SYSLIB1040-1045 の診断、そしてジェネレーターが黙ってキャッシュ済み Regex にフォールバックする 2 つのパターンを扱います。
次へ