Start Debugging

Тег: source-generators

11 статей · Страница1из2

Quartz.NET 4.2 превращает некорректные cron-выражения в ошибки сборки
Quartz.NET 4.2.0 поставляется с анализатором Roslyn, который отклоняет непарсящиеся cron-литералы как QZ0001 на этапе компиляции, а также с генератором исходного кода, который превращает атрибуты [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 подключают его без opt-in, режим ReflectionFree теперь может пропускать обнаружение во время выполнения для простых [TestMethod] и [DataRow], а пять диагностик AOTSG показывают, какие формы тестов не пройдут.
AutoMapper против Mapperly и написанного вручную маппинга в 2026 году
Mapperly - выбор по умолчанию для нового кода .NET: он не уступает по скорости ручному маппингу, переживает Native AOT и находит незамапленные члены во время компиляции. AutoMapper по-прежнему выигрывает в ProjectTo. С бенчмарками и лицензионными порогами.
Как скрывать чувствительные значения в журналах с помощью LogProperties и редактирования данных в .NET
Полное руководство по редактированию классифицированных данных в журналах, созданных генератором исходного кода: постройте таксономию, напишите Redactor, подключите EnableRedaction и AddRedaction и разберитесь с дискриминатором, который незаметно ломает частичное маскирование. С реальным выводом из Microsoft.Extensions.Compliance.Redaction 10.9.0.
Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver
Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.
Как заменить new Regex(...) на генератор исходного кода [GeneratedRegex] в .NET 11
Полное руководство по переходу с new Regex(pattern, RegexOptions.Compiled) на [GeneratedRegex] в .NET 11: механическая переработка кода, частичные методы против частичных свойств, измеренные показатели запуска и пропускной способности, диагностики SYSLIB1040-1045 и два случая, когда генератор молча откатывается к закешированному Regex.
Что такое генератор исходного кода и когда он мне нужен?
Понятное руководство по генераторам исходного кода в C#: что они на самом деле делают, как работает пайплайн IIncrementalGenerator, когда они выигрывают у рефлексии или T4 и в каких случаях к ним не стоит прибегать. С работающими примерами на .NET 11 и C# 14.
Вперёд