TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #3030 2.52K
День 2518. #ЗаметкиНаПолях
Мигрируем на Новый Формат Файлов Решений
Новый формат файлов решений в .NET .slnx появился довольно давно, я уже писал про него. И хотя он до сих пор, по какой-то причине находится в стадии превью, уже сейчас можно обновлять свои решения на новый формат.

Проблема
Классические файлы .sln многословны: записи проекта с большим количеством GUID + блоки конфигурации, которые разрастаются по мере роста вашего решения. Это также частый источник конфликтов слияния.

Новый формат .slnx по сути просто перечисляет проекты решения в формате XML. Он похож на файл .csproj. Гораздо компактнее, понятнее и удобнее в использовании.

Как выполнить миграцию?
Формат .slnx доступен в последних версиях Visual Studio 2022 (v17.13+) и SDK .NET9+. Вот как вы можете перейти на него.

1. Терминал
Если у вас установлен SDK .NET версии 9.0.200 или более поздней, вы можете выполнить миграцию мгновенно через CLI.
- Откройте терминал в папке решения.
- Выполните команду миграции:
dotnet sln migrate

Это создаст новый файл .slnx рядом со старым файлом .sln.
На этом этапе лучше удалить старый файл .sln, чтобы избежать путаницы. Нет смысла хранить оба файла в одном репозитории.

2. Сохранение из Visual Studio
Если вы предпочитаете графический интерфейс, вы можете сделать это непосредственно в Visual Studio 2022 (или 2026).
- Выберите решение в обозревателе решений.
- Перейдите в меню File > Save Solution As… (Файл > Сохранить решение как…).
- Выберите в раскрывающемся списке Save as type (Тип файла) тип Xml Solution File (*.slnx).

Зачем мигрировать?
1. Меньше конфликтов слияния: главное преимущество. Поскольку файл представляет собой простой XML-файл без случайных изменяющихся GUID, слияние в Git становится тривиальным.

2. Удобочитаемость: Вы можете открыть этот файл в блокноте, понять его и отредактировать, не нарушая всю сборку.

3. Согласованность: Наконец-то формат решения приведён в соответствие с форматом проекта (.csproj), который несколько лет назад также был серьёзно упрощён.

4. Производительность: Меньший размер файлов и более простой анализ означают немного более быструю загрузку для масштабных решений.

Можно ли использовать в проде?
По состоянию на конец 2025 - начало 2026 года, .slnx технически остаётся превью-функцией.

Безопасно ли использовать?
Да, формат стабилен.

Поддержка инструментов
Visual Studio 2022, Visual Studio 2026 и Rider хорошо его поддерживают. То же самое относится и к .NET CLI. Некоторые старые конвейеры CI/CD или сторонние инструменты могут пока не распознавать это расширение. Сначала попробуйте его на стороннем проекте или ветке. Если ваш конвейер CI/CD успешно будет с ним работать, то всё отлично.

Источник: https://www.milanjovanovic.tech/blog/the-new-slnx-solution-format-migration-guide
  • 👍 17
More from @netdeveloperdiary
  1. Sep 29, 2026Фото 3 (с) Анатолий Кулаков
  2. Sep 28, 2026День 2798. #Оффтоп Утиная Типизация в C# с Помощью Перехватчиков. Часть 2 Некоторое время…
  3. Sep 27, 2026День 2797. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Окончание Начало Продол…
  4. Sep 26, 2026День 2796. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Продолжение Начало Три…
  5. Sep 25, 2026День 2795. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Начало Проблема с позиц…
  6. Sep 24, 2026День 2794. #Оффтоп #Здоровье Сегодня будет необычный пост. Завтра в Москве стартует конфер…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →