Обновить пакет nuget в событии перед сборкой

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

Я использовал следующую команду в нашем проекте:

"$(SolutionDir)nuget\Nuget.exe" update "$(ProjectDir)packages.config" -source "<PackageSource>" -id "<nuget package to update>"

Этот запросил у меня пароль имени пользователя, так как он находится в нашей организации. Не многие пользователи заинтересованы вводить свои кредиты даже в первый раз. Также по какой-то причине это не обновило packages.config.

Есть ли способ заставить его? Или есть лучший способ сделать это.


person Vaibhav    schedule 16.10.2020    source источник


Ответы (1)


На самом деле он хорошо работает на моей стороне и обновляет все пакеты nuget с packages.config до последних.

Чтобы удалить аутентификацию из источника пакета nuget в VS IDE и предотвратить ее в следующий раз, вы должны добавить ее информацию в глобальный файл nuget.config, чтобы она не запрашивала в следующий раз. См. этот официальный документ.

Шаг

1) закройте VS, откройте nuget.config из C:\Users\xxx(current user)\AppData\Roaming\NuGet

добавьте это:

<configuration>

<packageSources>
    <add key="xxxx(your nuget package source)" value="xxxxxx" />

</packageSources>

<packageSourceCredentials>
<xxx(your nuget package source)>
  <add key="Username" value="xxxx" />
  <add key="Password" value="xxxx" />

</xxx(your nuget package source)>

</packageSourceCredentials>

</configuration>

2) Сохраните файл, а затем перезапустите VS, чтобы новые изменения вступили в силу.

3) После этого вы можете удалить исходный узел пакета в своей команде, и он уже ввел глобальный файл nuget.config. Каждый раз, когда вы запускаете команду, она сначала будет искать
любую информацию в глобальном nuget.config файле, и если она есть, вам не нужно вводить команду.

Запустите это:

$(SolutionDir)nuget\Nuget.exe update $(ProjectDir)packages.config -id <nuget package to update>

4) Если он по-прежнему не обновляет packages.config, вы можете попробовать следующее:

удалите папку bin и obj, загрузите последнюю версию nuget.exe cli v5.7.0 и используйте новую версию .

Кроме того, если вы столкнетесь с какими-либо сообщениями об ошибках в процессе обновления, поделитесь ими с нами.

Это небольшая демонстрация результатов моего теста:

введите здесь описание изображения

person Mr Qian    schedule 19.10.2020