Вопрос по – Есть ли способ автоматически обновить nuget.exe в папке .nuget при использовании восстановления пакета?

86

Моя команда использовала опцию Enable Package Restore начиная с Nuget 1.5, чтобы не допустить попадания пакетов в нашу систему контроля версий. Когда был выпущен Nuget 1.6, мы заметили проблему, из-за которой он не собирал пакеты, и отследили его до Nuget.exe в папке .nuget, которую необходимо обновить до версии 1.6, чтобы она соответствовала диспетчеру пакетов.

Каков наилучший способ обновить решение после обновления Nuget? Я не вижу простого способа узнать, какая версия nuget находится в папке решения. До сих пор мы удаляем папку .nuget и повторно запускаем команду «Включить восстановление пакета».

Ваш Ответ

3   ответа
-1

Смотрите сообщение Дэвида Эббо в его блоге.

По сути, все, что вам нужно сделать, это создать файл NuGet.Config рядом с вашим файлом .sln, содержащий:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear/>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <add key="aspnetwebstacknightlyrelease" value="https://www.myget.org/f/aspnetwebstacknightlyrelease/" />
  </packageSources>
</configuration>
Вероятно, вам следует указать, на какую часть вопроса вы отвечаете, при взгляде на заголовок вопроса и принятый ответ легко считать этот ответ неуместным ...
Вопрос спрашивает, как автоматически обновить nuget.exe до последней версии при использовании восстановления пакета. В сообщении David Ebbo sblog только объясняется, как восстановить пакеты с помощью nuget.exe.
31

что лучший способ справиться с этим - просто удалить папку .nuget и повторно включить восстановление пакета в рамках решения. Как сказано выше, вы можете добавить команду самообновления в вашу сборку, но она не будет обновлять цели или файлы конфигурации, если между версиями есть изменения (или удалить ссылку из вашего решения). Возможно, это не такая уж большая проблема, но это верный способ убедиться, что у вас есть последние exe и конфигурационные файлы. И, в конце концов, обновление является проблемой только в том случае, если вам нужен доступ к новой команде или в конечном итоге произошли серьезные изменения в новом выпуске.

Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededNuGet.exe as well asError: User Rate Limit ExceededNuGet.targetsError: User Rate Limit ExceededNuGet.targetsError: User Rate Limit Exceeded
138

омандной строки:

nuget.exe update -self

[РЕДАКТИРОВАТЬ]: сначала закройте решение VS Если имеется обновление и решение открыто, nuget.exe будет удален из решения.

Выcould автоматически обновите nuget.exe при восстановлении, изменив .nuget \ nuget.targets, добавив указанную выше команду. Я рассмотрел команду восстановления там в качестве примера. Но я не уверен, стоит ли это того, обновления nuget.exe не так распространены, и обратная совместимость должна нарушаться очень редко.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Rick
Error: User Rate Limit Exceedednuget.org/packages/NuGet.BuildError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Rick

Похожие вопросы