SlnGen: генерировать целевые решения Visual Studio по запросу
SlnGen от Microsoft Corporation помогает инженерам генерировать небольшие, специфичные для контекста решения Visual Studio для целенаправленной разработки в больших репозиториях. Он динамически создает .sln файлы из одного проекта, следуя ссылкам на проекты MSBuild и рекурсивным зависимостям, и может запускать Visual Studio или производить рабочие пространства и файлы запуска для VS Code. Ключевые возможности включают интеграцию MSBuild, фильтрацию проектов и использование в качестве глобального инструмента .NET; он нацелен на разработчиков и инженеров по сборке, работающих с монорепозиториями, которым нужны более быстрые рабочие процессы IDE.
SlnGen создает обрезанное решение, которое содержит только необходимые проекты
Механика: инструмент читает один файл проекта, рекурсивно проходит по его ссылкам MSBuild и создает .sln, который включает эти проекты. Он может работать как глобальный инструмент .NET или как часть скриптов сборки, а также создает файлы, которые можно использовать в Visual Studio Code. Этот подход заменяет необходимость поддерживать очень большие, зафиксированные файлы решений для многих команд.
Использование сгенерированного решения снижает нагрузку на IDE и давление при запуске
Ограничивая открытые проекты активным деревом проектов, SlnGen уменьшает количество проектов, которые Visual Studio должна анализировать и загружать, что, по описанию, снижает объем памяти и время запуска. Инструмент может автоматически запускать IDE после генерации, так что разработчики открывают меньший рабочий набор без ручного редактирования решения. Это удобно для инженеров, работающих в больших репозиториях или монорепозиториях.
SlnGen уменьшает гниение решений и подлежит проверке, так как является открытым исходным кодом
Вместо того чтобы фиксировать монолитное решение в системе контроля версий, команды могут генерировать локальные решения по запросу, что решает проблему, называемую гниением решений. Проект открыто размещен для вкладов сообщества и разрабатывается Microsoft, что позволяет командам проверять поведение перед принятием. Обратите внимание, что требуется наличие среды выполнения .NET и MSBuild на машине разработчика.
Инструмент ожидает знакомства с MSBuild и интеграционной работы для плавной работы
Установка в качестве глобального инструмента .NET является рекомендуемым маршрутом, что подразумевает комфорт с инструментами командной строки и концепциями MSBuild. Разработчики, которые интегрируют SlnGen в скрипты сборки или локальные рабочие процессы, должны быть готовы редактировать эти скрипты и использовать фильтрацию проектов для исключения путей или типов. Инструмент нацелен на инженеров и поддерживающих сборку, а не на нетехнических участников.
SlnGen является практичным выбором для инженеров, которым нужны целенаправленные решения
SlnGen является прагматичным вариантом для разработчиков и инженеров по сборке, которым нужны решения по запросу с ограниченным контекстом для снижения нагрузки на IDE; это требует среды разработки MSBuild/.NET и некоторой знакомости со скриптами в качестве компромисса. Для команд, готовых принять рабочий процесс сгенерированного решения, это снижает долгосрочные затраты на обслуживание зафиксированных файлов решений. Рекомендация: запустите генерацию из вашей рабочей папки перед открытием вашей IDE. Рекомендуется.