Я работаю над большим решением, которое состоит из более 250 проектов. Обновление общего пакета Nuget, используемого во всех этих проектах, занимает от 2 до 3 часов при использовании интерфейса Visual Studio Nuget или инструмента командной строки Nuget. Я ищу способ сделать это быстрее, обновив файлы вручную.Как вручную обновить пакет Nuget без использования Nuget UI или инструмента командной строки
Моя первая мысль заключалась в том, что мне нужно было обновить номер версии пакета в файлекаждого проекта. Например, найти и заменить
<package id="ThisPackage" version="0.0.0.1" targetFramework="net452" />
с
<package id="ThisPackage" version="0.0.0.2" targetFramework="net452" />
Это, кажется, что на самом деле происходит, когда вы выполняете обновление через VS NuGet UI, так что я думал делать это, а затем восстановление решение будет принимать заботиться обо всем, немного как вручную редактировать зависимости в package.json
, а затем запускать npm install
в узле.
Это не работает. ссылки в файлах .csproj не обновляются по мере того, как вы делаете, когда файлы конфигурации обновляются Nuget.
Я мог бы вручную обновить .csproj файлы, а также, например, путем поиска и замены
<HintPath>..\..\packages\ThisPackage.0.0.0.1\
с
<HintPath>..\..\packages\ThisPackage.0.0.0.2\
Но, вероятно, я также необходимо обновить ссылки версии сборки и я m не уверен, как выработать то, что должно быть для данной версии пакета Nuget. Плюс в этот момент он становится немного неудобным и подверженным ошибкам, хотя и около получаса работы вместо 3 часов мертвого времени.
Кто-нибудь нашел способ обновить пакет Nuget по большому числу проектов в решении, которое не требует нескольких часов?
Оказалось, что обновление пакетов с использованием Nuget cli намного быстрее, если вы сначала закроете Visual Studio. В моем случае это занимает около 5 минут. например 'nuget update -id Package.Id mysolution.sln' –