﻿# \.NET Digest \#7

Добро пожаловать на седьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире \.NET\! В этот раз мы расскажем про \.NET 10 preview 2 и 3, новый релиз Mono, множество интересных статей и, конечно же, AI\. Команда PVS\-Studio рада представить вам подборку самых интересных и полезных материалов\. Поехали\!

![1250_NET_digest_N7_ru/image1.png](https://import.viva64.com/docx/blog/1250_NET_digest_N7_ru/image1.png)

Мы стараемся совершенствоваться, так что будем рады вашим комментариям и предложениям :\)

Не стесняйтесь присылать нам интересные материалы с помощью [формы обратной связи](https://pvs-studio.ru/ru/about-feedback/?is_question_form_open=true)\!

Сегодня в дайджесте: \.NET 10 preview 2 и 3, новый релиз Mono, улучшения AI в Visual Studio и множество интересных статей\.

## Главные новости

[The 6\.14\.0 release of Framework Mono is now available](https://gitlab.winehq.org/mono/mono/-/releases/mono-6.14.0)

Разработчики Wine выпустили релизную версию Mono 6\.14\.0\. Она содержит в себе изменения, которые накопились с выпуска последней версии пять лет назад\. Это первый выпуск Mono, который появился после того, как Microsoft передала разработку в Wine\.

Ключевые изменения в Mono 6\.14\.0:

* добавлена поддержка macOS на системах с архитектурой ARM64;
* улучшена поддержка сгенерированных COM\-интерфейсов;
* исправление ошибок и улучшение стабильности для `System.Windows.Forms`;
* исправлены некоторые случаи, когда процессы зависали при завершении\.

[\.NET 10 Preview 2 is now available\!](https://devblogs.microsoft.com/dotnet/dotnet-10-preview-2/)

[\.NET 10 Preview 3 is now available\!](https://devblogs.microsoft.com/dotnet/dotnet-10-preview-3/)

Только мы рассказали в прошлом \.NET Digest о выходе первой preview версии \.NET 10, как уже вышли preview 2 и 3\. Как обычно, изменения комплексные и затрагивают \.NET Runtime, SDK, библиотеки и прочее\. Вот список некоторых новшеств и улучшений:

* поддержка частичных конструкторов и событий;
* extension members\. Новый синтаксис позволяет объявлять свойства расширения с помощью `extension` блоков;
*  null\-conditional присваивание\. Теперь вы можете написать вот так: `customer?.Age = newAge`;

В предыдущем \.NET Digest мы рассказывали про оптимизацию, появившуюся в \.NET preview 1: массивы значимых типов аллоцируются на стеке при условии, что массив гарантировано не переживёт свой родительский метод\. Теперь же разработчики расширили эту оптимизацию и на массивы ссылочных типов\.

## Статьи

[Introducing automatic documentation comment generation in Visual Studio](https://devblogs.microsoft.com/visualstudio/introducing-automatic-documentation-comment-generation-in-visual-studio/)

Теперь Copilot, интегрированный в Visual Studio, способен автоматически создавать комментарии к функциям\. Наконец\-то Copilot поможет вам написать описание для вашего магического метода, который делает магию\.

![1250_NET_digest_N7_ru/image2.gif](https://import.viva64.com/docx/blog/1250_NET_digest_N7_ru/image2.gif)

[How we ended up rewriting NuGet Restore in \.NET 9](https://devblogs.microsoft.com/dotnet/rewriting-nuget-restore-in-dotnet-9/)

Команда NuGet опубликовала статью, в которой описывается, как они решились полностью переписать алгоритм NuGet Restore для достижения прорыва в производительности и масштабируемости\. Они приводят в пример проект, время восстановления которого снизилось с 32 минут до 2 минут\. Кажется, что это просто волшебный результат\.

[Effortless adjustments with an adaptive paste](https://devblogs.microsoft.com/visualstudio/effortless-adjustments-with-an-adaptive-paste/)

Теперь Visual Studio адаптирует вставленный код под ваш проект\. Copilot предложит исправление стиля кода, незначительных ошибок и прочее\. Всё это направлено на сокращение времени и упрощение выполнения рутинных и нудных действий при вставке скопированного кода\. Теперь копировать со Stack Overflow будет ещё проще\.

[Hello HybridCache\! Streamlining Cache Management for ASP\.NET Core Applications](https://devblogs.microsoft.com/dotnet/hybrid-cache-is-now-ga/)

Новая статья от Microsoft про `HybridCache`\. Он доступен в виде пакета [Microsoft\.Extensions\.Caching\.Hybrid](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Hybrid/9.3.0)\. HybridCache позволяет хранить кэш как в памяти, так и распределённо, например, используя Redis\.

[MSTest 3\.8: Top 10 features to supercharge your \.NET tests\!](https://devblogs.microsoft.com/dotnet/mstest-3-8-highlights/)

Microsoft постоянно работает над улучшением MSTest\. В этой статье рассказывается про 10 лучших возможностей MSTest 3\.8, такие как фильтрация тестов, автоматический перезапуск упавших тестов, `OSConditionAttribute` для точного управления запуском и прочее\.

[Numeric sorting in \.NET](https://anthonysimmon.com/numeric-sorting-dotnet/)

Числовая сортировка \(ещё называемая естественной сортировкой\) упорядочивает строки в удобном для восприятия человеком виде, т\. к\. рассматривает числа обособлено\. Ранее в \.NET не было встроенной реализации, но в \.NET 10 появится новый флаг `CompareOptions.NumericOrdering`\. Автор статьи рассматривает как новый способ через флаг, так и иные способы упорядочивания строк, используя числовую сортировку\.

[PVS\-Studio в разработке на Unity: новые специализированные диагностики](https://pvs-studio.ru/ru/blog/posts/csharp/1236/)

По сей день Unity остаётся популярен у тысяч разработчиков\. На этом движке созданы многие популярные игры\. Насколько полезен был бы анализатор PVS\-Studio разработчикам на Unity? Какие ошибки и возможности для оптимизации кода он мог бы помочь найти? Ответы на все эти вопросы вы найдёте в нашей статье\.

## Новости

[Join the \.NET & C\# Teams at Microsoft Build 2025](https://devblogs.microsoft.com/dotnet/join-us-at-build-2025/)

Microsoft анонсировали ежегодную конференции Microsoft Build 2025\. Она будет проходить 19\-22 мая\. Как обычно, будут доклады, касающиеся \.NET: C\#, \.NET Aspire, \.NET MAUI, ASP\.NET Core и прочее\.

[AutoMapper and MediatR Going Commercial](https://www.jimmybogard.com/automapper-and-mediatr-going-commercial/)

Владелец проектов AutoMapper и MediatR опубликовал новость, что следующие версии библиотек станут платными для коммерческого использования\.

[Announcing MassTransit v9](https://masstransit.io/introduction/v9-announcement)

Авторы проекта MassTransit сообщили, что, начиная с MassTransit v9, проект переходит на коммерческую модель лицензирования\. Авторы считают, что это изменение поможет обеспечить стабильность в долгосрочной перспективе и поддержку корпоративного уровня\. При этом MassTransit v8 остаётся открытым\.

[Introducing support for SLNX, a new, simpler solution file format in the \.NET CLI](https://devblogs.microsoft.com/dotnet/introducing-slnx-support-dotnet-cli/)

Microsoft представляет поддержку SLNX файла решения при работе с \.NET CLI\. Начиная с \.NET SDK 9\.0\.200, \.NET CLI поддерживает создание и работу с SLNX файлами\. Ранее поддержка в экспериментальном формате появилась в Visual Studio 2022 и JetBrains Rider\. Подробнее про новый вид файла решения можно прочитать в статье "[New, Simpler Solution File Format](https://devblogs.microsoft.com/visualstudio/new-simpler-solution-file-format/)"\.

## Новые версии

[Rider 2025\.1 Is Here: Improved Solution Explorer, New AI Assistant Features, Game Dev Updates, and More\!](https://blog.jetbrains.com/dotnet/2025/04/16/rider-2025-1-release/)

В новой версии Rider 2025\.1 предлагает более удобную навигацию по кодовой базе, обновление JetBrains AI Assistant, поддержку предварительных функций C\# 14, улучшения отладки, обновления для разработчиков игр и многое другое\.

[PVS\-Studio 7\.36: расширение поддержки MISRA, плагин для Qt Creator 16, расширение пользовательских аннотаций в C\#](https://pvs-studio.ru/ru/blog/posts/1245/) 

Вышел новый релиз PVS\-Studio — 7\.36\. В этом релизе для C\# анализатора мы расширили возможности механизма пользовательских аннотаций\. Теперь они могут содержать информацию, полезную не только для taint\-анализа, но и для других задач\. Например, можно указать, что метод может вернуть `null`, что возвращаемое значение метода нужно использовать или что аргумент не должен быть равен `null`, и ещё много чего\.

Не обошлось и без новых диагностик:

* [V3218](https://pvs-studio.ru/ru/docs/warnings/v3218/)\. Loop condition may be incorrect due to an off\-by\-one error\.
* [V3219](https://pvs-studio.ru/ru/docs/warnings/v3219/)\. The variable was changed after it was captured in a LINQ method with deferred execution\. The original value will not be used when the method is executed\.
* [V3220](https://pvs-studio.ru/ru/docs/warnings/v3220/)\. The result of the LINQ method with deferred execution is never used\. The method will not be executed\.
* [V3221](https://pvs-studio.ru/ru/docs/warnings/v3221/)\. Modifying a collection during its enumeration will lead to an exception\.
* [V5629](https://pvs-studio.ru/ru/docs/warnings/v5629/)\. OWASP\. Code contains invisible characters that may alter its logic\. Consider enabling the display of invisible characters in the code editor\.

А запросить пробный ключ и попробовать последнюю версию анализатора можно с помощью этой [страницы](https://pvs-studio.ru/ru/pvs-studio/try-free/)\.

Спасибо за прочтение, и ждём вас снова\! Не стесняйтесь [присылать](https://pvs-studio.ru/ru/about-feedback/?is_question_form_open=true) нам свои новости\!