Microsoft анонсувала новий формат файлів рішень Visual Studio на основі XML, який покликаний зменшити кількість конфліктів під час злиття змін (merge conflicts) у системах керування версіями. Водночас перехід до нового формату може бути складним і неочевидним, повідомляє DevClass.
Чому це важливо?
Файли рішень у Visual Studio потрібні навіть для проєктів з одним застосунком. Вони використовуються для керування кількома проєктами одночасно. Хоча ці файли не є обовʼязковими для розробників, які працюють поза Visual Studio (наприклад, у Visual Studio Code), навколо них точиться дискусія, чи потрібні вони взагалі.
Поточний формат є громіздким і містить GUID (глобально унікальні ідентифікатори), що ускладнює читабельність для людини. Крім того, файли рішень часто спричиняють конфлікти під час злиття в системах контролю версій. Якщо файл пошкоджено, Visual Studio не зможе відкрити застосунок.
Що змінюється з новим форматом?
Новий формат на основі XML обіцяє багато переваг. За словами Наяни Срікант, старшої менеджерки продукту, новий формат є стислішим, краще читається, зберігає коментарі та пробіли й відповідає конвенціям MSBuild.
«Це, по суті, той самий формат, що використовується для файлів проєктів у Visual Studio, тому ми вибрали саме XML, а не, наприклад, JSON», — пояснила Срікант.
Файл із новим форматом має розширення .SLNX, тоді як старий використовує .SLN. Конвертація до нового формату доступна через Save As у Visual Studio, але може знадобитися попередньо активувати експериментальні функції.
З чим доведеться зіткнутися під час переходу?
Попри переваги, Microsoft радить поки не переходити повністю на SLNX, доки формат не буде фіналізовано. Причин для обережності кілька:
1. Потрібно активувати підтримку SLNX у Visual Studio, інакше такі файли не відкриються.
2. Сторонні інструменти та розширення можуть бути несумісними.
3. Зберігати одночасно .SLN і .SLNX у репозиторії не рекомендується, хоча це може бути необхідно на етапі переходу. Visual Studio не синхронізує обидва формати автоматично.
4. Існує експериментальний інструмент slnxsync, створений спільнотою, який здатен підтримувати синхронізацію.
5. NuGet поки не підтримує SLNX, хоча патч для цього вже подано.
Для тих, хто не користується Visual Studio, але працює з .NET, у версії SDK 9.0.200 зʼявилася команда для міграції файлів рішень у новий формат.
Крім того, бібліотека vs-solutionpersistence підтримує обидва формати й дає можливість редагувати їх прозоро.
Що кажуть розробники?
Реакція спільноти здебільшого позитивна, хоч і з обережністю щодо сумісності.
«Я чекав на оновлення формату solution-файлів багато років. Це була одна з останніх частин застарілої системи проєктів, яка ніяк не відповідала новому SDK-стилю», — поділився один із розробників.
Читайте також на ProIT: Microsoft переносить TypeScript на Go для підвищення швидкості та масштабованості.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!