Nuget: перенос нескольких крупных решений в PackageReference

Фон

Я работаю над большим проектом с несколькими большими решениями. Всего у нас более 400 C#-проектов. В прошлом мы использовали Nuget с packages.config файл для наших зависимостей. Теперь мы хотим перенести все проекты на новый PackageReference формат.

проблема

Я знаю, что Visual Studio предоставляет решение для миграции одного проекта из packages.config к PackageReference формат, но я не знаю решение, где я могу перенести несколько решений Visual Studio одновременно. Мне не нужна проверка совместимости Visual Studio, потому что все используемые пакеты совместимы с новым форматом.

Вопрос

Существует ли удобный способ переноса нескольких решений Visual Studio одновременно с packages.config к PackageReference формат?

1 ответ

Решение

Nuget: перенос нескольких крупных решений в PackageReference

Для обеспечения точности миграции Visual Studio и большинство расширений предоставляют возможность миграции одного проекта из packages.config к PackageReference формат и выполнит проверку совместимости Visual Studio.

Если вы хотите перенести несколько решений Visual Studio одновременно, AFAIK, на данный момент такого метода или расширения не существует.

В качестве обходного пути я хотел бы предоставить вам расширение:

NuGet PackageReference Updater

Который может одновременно переносить одно решение с несколькими большими проектами из packages.config в формат PackageReference. Просто щелкните правой кнопкой мыши Solution в Solution Explorer и выберите Upgrade to Package References:

Надеюсь это поможет.

Я не нашел принятый ответ очень актуальным, потому что ссылка на расширение не работает. Я видел репо, содержащее настраиваемый код для миграции, но он просто сделал замену 1-1 без устранения транзитивных зависимостей - не очень хорошо.

Итак, я написал кое-что для автоматизации процесса применения встроенного инструмента миграции ко всем проектам, отличным от Asp.Net - https://github.com/MarkKharitonov/NuGetPCToPRMigrator

Я использовал его для переноса нескольких сотен проектов на несколько решений.

Другие вопросы по тегам