2014-09-05 2 views
3

Команда NuGet Update-Package PowerShell, которая может запускаться изнутри Visual Studio, поддерживает флаг -Version, который позволяет обновлять определенную версию пакета.Обновление командной строки NuGet.exe для конкретной версии

Это большое ограничение для нашего рабочего процесса сборки сервера, что команда nuget.exe update не поддерживает этот сценарий, и я имею в виду два варианта:

  1. Измените nuget.exe командной строки исходного кода инструмент , Это не кажется затруднительным, похоже, существует поддержка для вызова UpdatePackageReference с спецификацией версии, которая используется переключателем -Safe.

  2. Запишите расширение командной строки (например, как описано here), аналогично NuGet.Analyze, в котором добавлена ​​команда обновления nuget.exe для конкретной версии. Из того, что я могу сказать, это потребует дублирования большей части кода в классе UpdateCommand, большинство его ключевых методов являются внутренними или частными.

ли кто-нибудь с большим опытом работы с инструментом nuget.exe командной строки (или расширениями, пишущими для него) имеет более глубокое представление о том, что именно маршрут будет, или если есть альтернативное решение?

ответ

2

Я закончил тем, что попробовал первый вариант, и это было легче, чем я изначально думал. Уже есть поддержка для обновления определенной версии API, и мне просто пришлось добавить параметр -Version для инструмента командной строки и вызвать его, если это указано.

Я создал вилку NuGet 2.8.2 с внесенным здесь изменением: https://github.com/rikoe/nuget/tree/2.8.2.

Я попытаюсь отправить запрос на перенос, чтобы добавить его в будущую версию NuGet.

Смежные вопросы