This week in .NET 07.08.2026

This week in .NET 07.08.2026

Anton Zhukov

Новости

  • Test reporting в Microsoft.Testing.Platform: от красного билда до корня зла -- MTP учится рассказывать, почему все сломалось, а не просто мигать красным. Инлайн-аннотации прямо в PR (GitHub Actions и Azure DevOps), live-публикация результатов по ходу прогона, а история билдов теперь сама шепчет ревьюеру: "это регрессия" или "да флейк это, забей на него, как и в прошлый вторник". Бонусом краш-устойчивые TRX (отчет больше не умирает вместе с тест-хостом) и куча форматов на выбор.
  • NuGet закручивает гайки: API-ключи теперь живут недолго и счастливо – .NET Team режет срок жизни API-ключей, потому что "вечный ключик в репозитории" это классика жанра для злоумышленников (спросите NPM-пакет NX Console, который угнали и за 36 минут скачали 6000 раз, ага). С 17 августа 2026 новые ключи максимум 30 дней, а 1 ноября все старые дружно превратятся в тыкву. Взамен настойчиво зазывают на Trusted Publishing через OIDC. Никаких долгоживущих секретов в CI, короткоживущие токены, автоматическая ротация, красота, а не жизнь. Если вы все еще храните ключ в переменной окружения с 2019 года самое время что-то с этим сделать (пока за вас это не сделал кто-то другой).
  • ReSharper заезжает в AI-first редакторы: конец эпохи двух мониторов – JetBrains наконец-то избавляет .NET-разработчиков от классической схемы "в Cursor пишем с ИИ, а в соседнем окне Rider/VS дебажим, потому что иначе никак". В релизе 2026.2 расширение ReSharper для VS Code (и всех его AI-first потомков – Cursor, Google Antigravity, Devin Desktop, Kiro) обзавелось полноценным .NET-дебаггером и теперь это по словам JetBrains, самое комплексное решение для дотнета в этих редакторах. Ставится одной командой из палитры, тащит за собой весь джетбрейновский тулинг: анализ кода (чтобы ловить творческие галлюцинации ИИ до рантайма), рефакторинги, навигацию, юнит-тесты. Короче, все в одном окне, без переключений и слез. Бонусом 30 дней триала автоматом, без танцев с бубном.
  • The Complete Package: почему дебаггер это только половина счастья – JetBrains продолжает пиарить ReSharper 2026.2 для VS Code, но с философским уклоном. Дебаггер это реактивная штука, а настоящая продуктивность начинается там, где баги ловятся до компиляции. В посте разбирают, чем еще богат экстеншен помимо свежего дебаггера. 2500+ инспекций статического анализа (которые ткнут носом в классику вроде async void и двойного лукапа по словарю через ContainsKey + индексатор), семантический Rename без риска "а давайте заменим Sku везде и сломаем половину проекта", и шустрая навигация по солюшену через Ctrl+T / Shift+F12. Мораль: дебажить это, конечно, святое, но лучше вообще не доводить до этого (кто бы спорил).
  • Microsoft заопенсорсила code-testing-generator: агент, который пишет тесты и сам себя проверяет – В MIT-репу dotnet/skills заехал полиглотный агент, который перед генерацией тестов сначала читает репозиторий, определяет фреймворк, ловит конвенции, находит реальные команды сборки (та самая классика, когда тест-проект локально работает, а в CI его никто не видит). Работает по схеме Research-Plan-Implement, перед сдачей гоняет пять проверок, включая легкий мутационный анализ на предмет пустых ассертов. На внутреннем бенче 92.1% против 78.9% у ванильного Copilot, весь отрыв взят на размытых промптах вроде "ну сгенери тестов". Прод-код не трогает (и на том спасибо).

Статьи

  • Beyond Chat: живой Speech-to-Text на Foundry Local и C# – Бруно показывает, что локальный ИИ это не только "чатик, напиши стишок", но и вполне себе распознавание речи в реальном времени. В сэмпле консольное приложение на .NET 10, которое через Foundry Local поднимает NVIDIA Nemotron 0.6B, ловит микрофон через NAudio и стримит транскрипцию прямо в консоль (промежуточные результаты циановым, финальные беленьким, все как мы любим). Foundry Local сам скачает модель, подберет execution provider под железо и не будет душнить с API-ключами, все крутится локально, аудио с микро никуда не утекает. Только Windows-only, увы (ну а вы что хотели от WinML).
  • Бенчмаркая ArrayPool: подстава при копировании потоков – 131 072 байта в LOH – Автор на четырех машинах разбирает, как ArrayPool округляет аренду 81 920 байт (дефолт Stream.CopyTo) до 131 072 и отправляет буфер прямиком в LOH, а обычный new на том же размере спокойно сидит в Gen0. Заодно выясняется, что MemoryStream буфер не арендует, а его наследники и FileStream еще как, возврат без очистки честно передает данные следующему арендатору (сюрприз), а двойной возврат пул проглатывает молча. Много графиков и практических выводов.
  • Три паттерна написания Agent Skills – Автор напоминает, что Skill это не милый Markdown-файлик, а исполняемый алгоритм, где главный ресурс attention модели (и раскидываться им так себе идея). Разбираются три паттерна: декомпозиция (один Skill одна задача, иначе модель играет архитектора и техписа одновременно), агрегация (Skills пишут не отчеты друг для друга, а в общий структурированный контекст привет, Blackboard) и расширение (когда каждый следующий Skill развивает артефакт предыдущего). Мораль: ничего нового мы не изобрели, старая добрая инженерия просто переехала в новую реальность.
  • Бенчмаркая StringBuilder: подстава на длинном тексте – Оказывается, лимит чанка в 8000 символов срабатывает не всегда. Один Append длинной строки создает под ее остаток отдельный чанк без оглядки на предел и текст на 200 000 символов улетает прямиком в LOH (ирония, ведь лимит ради этого и придумали). Заодно выясняется, что Clear чанки не выбрасывает, а склеивает в один массив под прежнюю вместимость. Спасают string.Concat, string.Create и добавление частями через Append(ReadOnlySpan<char>).
  • Как пишут базы данных на C#: RavenDb – Автор затеял живой лонгрид про RavenDB документную NoSQL-базу, написанную целиком на C# (да-да, у .NET-мира есть своя, и она жива с 2009-го). В отличие от MongoDB, здесь ACID фундамент, а не опция "прикрутим позже", плюс master-to-master репликация и встроенный полнотекстовый поиск. Много места отдано создателю Oren Eini, тому самому из NHibernate и Rhino Mocks, который параллельно учит писать БД с нуля на C. В планах сравнения с MongoDB и Couchbase, разбор шардинга и кейс Rakuten Kobo. Статья заявлена как "живой документ", так что дописываться будет по ходу.



Report Page