Visual studio восстановить nugget

Обновлено: 03.07.2024

Все пакеты уже установлены и восстанавливать нечего.

но эти 52 ошибки все еще есть, и в разделе Инструменты -> Диспетчер пакетов NuGet -> Управление пакетами NuGet для решения на этом решении ничего не установлено, также я недавно обновил свой VS2017 до 15.5.4

Вы дали согласие на восстановление NuGet? Перейдите к инструментам, параметрам, найдите NuGet и установите флажок «Разрешить NuGet . ». Если кто-то работает на Mac, у нас была эта проблема, и мы устранили ее, удалив пробелы в пути к хранилищу (который был создан во время git pull): Мой% 20Project становится MyProject.

Ошибка возникает из-за того, что dotnet cli изначально не создает все необходимые файлы. Выполнение восстановления dotnet добавляет необходимые файлы.

Это было также исправлением для сервера сборки. Добавлен шаг командной строки для запуска «восстановления dotnet» после обычного восстановления NuGet. Вы также можете сделать это из MSBuild: msbuild MySolution.sln / t: Restore Решение @ Der_Meister по добавлению опции / t: Restore сработало для меня, однако мне пришлось построить решение дважды (два отдельных этапа сборки). Сначала с параметром / t: Restore, а затем снова без него. @ Майкл, попробуйте msbuild MySolution.sln / t: восстановить; Build Если у вас есть более одного файла решения, вам нужно сделать dotnet restore solutionfilename.sln

В моем случае ошибка была в GIT-хранилище. В названии были пробелы, поэтому мой проект не удалось восстановить

Если это ваша проблема, просто переименуйте репозиторий GIT при клонировании

Я подумал про себя, что это не может быть. Попробовав еще один час с другими предлагаемыми решениями, я наконец испытал это от отчаяния, и это решило мою проблему. Черт возьми! Это решило проблему, с которой я столкнулся, большое спасибо! Этот ответ должен быть в начале поста, а не в конце. Решил мою проблему. в моем случае я просто переименовал свою физическую папку, удалив% 20 и заменив ее обычным пространством, и все работает хорошо

В случае, если «восстановление dotnet» не работает, могут помочь следующие шаги:

  1. Visual Studio >> Инструменты >> Параметры >> Диспетчер Nuget >> Источники пакетов
  2. Не проверены любые сторонние источники пакетов.
  3. Восстановить решение.

Закрытие и повторное открытие Visual Studio решило эту проблему для меня, как только я убедился, что пакеты NuGet были восстановлены, как и другие ответы, опубликованные здесь.

Изменить: В некоторых случаях мне приходилось перезапускать Visual Studio сразу после другого перезапуска, поэтому не думайте, что перезапуск не поможет только потому, что вы недавно перезапустили.

Не могу поверить, что это сработало и для меня после восстановления dotnet и только после этого У меня были некоторые проблемы с подключением в моей рабочей локальной сети, которые мешали NuGet. Перезагрузка моего ПК решила проблему! Это на самом деле не ответ , потому что иногда вы используете CLI инструменты get и build и вы не раскрываем VS. Я знаю, почему он работает с VS - потому что VS автоматически разрешает зависимости проекта. @TS вопрос с тегом «Visual Studio 2017 года», так что я бы сказал , что это является ответом. Вы поднимаете интересный момент, однако, что проблема заключается в разрешении VS-зависимостей. Если у вас есть больше информации о том, что идет не так, я уверен, что это будет интересно читать

Добавьте /t:Restore к своим MSBuild Аргументы в Build Solution.

Для меня, когда я сделал - dotnet restore все еще ошибка происходила.

1 Инструмент -> Менеджер пакетов NuGet -> Настройки диспетчера пакетов -> нажмите «Очистить в Nuget Catche (s)»

2 dotnet восстановление

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

В visual studio 2017, пожалуйста, выполните следующие действия:

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

1) выберите Tool => Options => NuGet Package Manager => Источники пакетов, затем снимите флажок Microsoft Visual Studio Offline Packages Option.

2) Теперь откройте Tool => NuGet Package Maneger => Консоль диспетчера пакетов. 3) выполнить команду в PM> dotnet restore.

Надеюсь, что это работает .

Выберите Инструменты > Диспетчер пакетов NuGet > Консоль диспетчера пакетов.

А затем запустить:

немного поздно для ответа, но, кажется, это добавит ценность. Глядя на ошибку - кажется, это происходит в конвейере CI / CD.

Достаточно просто запустить «сборку dotnet».

DotNet build выполняет «восстановление» по умолчанию.

Ничто из вышеперечисленного не помогло мне. Но простое удаление всех папок bin и obj помогло.

Эта проблема произошла для меня, когда я работал над Dockerfile. удаление этих папок привело к правильной работе dotnet-восстановления в контейнере.

Решается добавлением / t: Restore; Build to MSBuild Аргументы

При использовании VSTS проверьте файл global.json. Я ввел версию SDK как просто «2.2», что вызвало ошибку разбора (но не при локальной сборке). Добавление полной версии «2.2.104» решило проблему.

Я потерял несколько часов из-за этой ошибки в DevOps Azure, когда установил задачу Visual Studio Build в конвейере сборки, чтобы построить отдельный проект в моем решении, а не в целом решении.

Это означает, что DevOps либо не создает ни один (или, возможно, некоторые, я не уверен, какой) из проектов, на которые ссылается проект, на который вы нацелены для сборки, и, следовательно, эти проекты не будут иметь свой project.json. сгенерированные файлы .asset, которые затем вызывают эту проблему.

Решением для меня было переключиться с использования задачи VS Build на задачу MSBuild. Использование задачи MSBuild для отдельного проекта правильно создает все проекты, на которые ссылается создаваемый вами проект, и устраняет эту ошибку.

Если эта ошибка возникает как часть сборки в Azure DevOps (TFS), и ваша сборка уже имеет задачу восстановления NuGet , эта ошибка может указывать на то, что задача восстановления NuGet не смогла восстановить все пакеты, особенно если вы используете собственный источник пакета ( такой как внутренний сервер NuGet). Добавление /t:Restore;Build к аргументам MSBuild, кажется, является одним из способов устранения ошибки, но при этом MSBuild просит выполнить дополнительную операцию восстановления NuGet. Я считаю, что это успешно, потому что MSBuild использует пользовательский источник пакета, настроенный в Visual Studio. Предпочтительным решением является исправление задачи восстановления NuGet.

Чтобы настроить собственный источник пакета для задачи восстановления NuGet:

Восстановление пакетов гарантирует доступность всех зависимостей проекта без сохранения этих пакетов в системе управления версиями. Дополнительные сведения о настройке исключения двоичных файлов пакетов в репозитории системы управления версиями см. в статье Пакеты и система управления версиями.

Обзор восстановления пакетов

Функция восстановления пакетов сначала устанавливает необходимые прямые зависимости проекта, а затем остальные зависимости этих пакетов во всей схеме зависимостей.

Если пакет не установлен, NuGet сначала попытается извлечь его из кэша. Если пакет отсутствует в кэше, NuGet пытается скачать его из всех источников, которые включены в списке в разделе Средства > Параметры > Диспетчер пакетов NuGet > Источники пакетов в Visual Studio. Во время восстановления NuGet игнорирует порядок источников пакетов, используя пакет из любого источника, первым ответившего на запросы. Дополнительные сведения о поведении NuGet см. в статье Распространенные конфигурации NuGet.

NuGet не сообщает о сбое восстановления пакета до проверки всех источников. После проверки NuGet сообщает о сбое только для последнего источника в списке. Такая ошибка означает, что пакет отсутствовал и во всех других источниках, хотя отдельные ошибки для них не выдавались.

Восстановление пакетов

Функция восстановления пакетов пытается установить все зависимости пакетов в правильном состоянии с учетом ссылок на пакет в файле проекта ( .csproj) или файле packages.config. (В Visual Studio ссылки отображаются в обозревателе решений в узле Зависимости \ NuGet или Ссылки.)

Если ссылки на пакет в файле проекта правильные, используйте привычное средство для восстановления пакетов.

Если ссылки на пакет в файле проекта ( .csproj) или packages.config неправильные (не соответствуют требуемому состоянию после восстановления пакета), необходимо установить или обновить пакеты.

Если для проектов используется PackageReference, после успешного восстановления пакет должен присутствовать в global-packages, а файл obj/project.assets.json будет создан повторно. Если для проектов используется packages.config , пакет должен отображаться в папке packages проекта. Теперь сборка проекта должна пройти без ошибок.

Если после запуска функции восстановления пакетов пакеты по-прежнему отсутствуют или появляются связанные с пакетами ошибки (например, значки ошибок в обозревателе решений в Visual Studio), следуйте инструкциям, описанным в разделе Устранение ошибок при восстановлении пакетов, или попробуйте переустановить и обновить пакеты.

В Visual Studio консоль диспетчера пакетов позволяет переустанавливать пакеты несколькими способами. См. об использовании Package-Update.

Восстановление с помощью Visual Studio

В Visual Studio в Windows выполните одно из следующих действий:

восстановите пакеты автоматически;

восстановите пакеты вручную.

Автоматическое восстановление пакетов с помощью Visual Studio

Включите автоматическое восстановление пакетов, выбрав Средства > Параметры > Диспетчер пакетов NuGet и щелкните Автоматически проверять отсутствие пакетов при сборке в Visual Studio в разделе Восстановление пакетов.

Для проектов не на основе пакета SDK сначала выберите Разрешить NuGet скачивать отсутствующие пакеты, чтобы включить автоматическое восстановление.

Выполните построение проекта.

Если какие-либо пакеты по-прежнему установлены некорректно, в обозревателе решений отображается значок ошибки. Щелкните правой кнопкой мыши и выберите Управление пакетами NuGet, после чего удалите и переустановите затронутые пакеты с помощью диспетчера пакетов. Дополнительные сведения см. в статье Переустановка и обновление пакетов.

Если отображается ошибка "Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере" или "Необходимо восстановить один или несколько пакетов NuGet, однако это невозможно без вашего согласия", включите автоматическое восстановление. Для более старых проектов см. инструкции по переходу на автоматическое восстановление пакетов. Дополнительные сведения см. в статье Устранение ошибок при восстановлении пакетов.

Восстановление пакетов вручную с помощью Visual Studio

Включите восстановление пакетов, выбрав Средства > Параметры > Диспетчер пакетов NuGet. В разделе Восстановление пакетов щелкните Разрешить NuGet скачивать отсутствующие пакеты.

Щелкните правой кнопкой мыши решение в обозревателе решений и выберите Восстановить пакеты NuGet.

Если какие-либо пакеты по-прежнему установлены некорректно, в обозревателе решений отображается значок ошибки. Щелкните правой кнопкой мыши и выберите Управление пакетами NuGet, а затем удалите и переустановите затронутые пакеты с помощью диспетчера пакетов. Дополнительные сведения см. в статье Переустановка и обновление пакетов.

Если отображается ошибка "Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере" или "Необходимо восстановить один или несколько пакетов NuGet, однако это невозможно без вашего согласия", включите автоматическое восстановление. Для более старых проектов см. инструкции по переходу на автоматическое восстановление пакетов. Дополнительные сведения см. в статье Устранение ошибок при восстановлении пакетов.

Включение и отключение восстановления пакетов с помощью Visual Studio

В Visual Studio для управления восстановлением пакетов используются преимущественно параметры в разделе Средства > Параметры > Диспетчер пакетов NuGet:

Управление восстановлением пакетов с помощью параметров диспетчера пакетов NuGet

Параметр Разрешить NuGet скачивать отсутствующие пакеты определяет все формы восстановления пакетов посредством изменения параметра packageRestore/enabled в разделе packageRestore файла NuGet.Config в каталоге %AppData%\NuGet\ в Windows или

/.nuget/NuGet/ в Mac/Linux. Этот параметр также обеспечивает работу команды Восстановить пакеты NuGet в контекстном меню решения в Visual Studio.

Параметр packageRestore/enabled можно переопределить на глобальном уровне, задав для переменной среды с именем EnableNuGetPackageRestore значение True или False перед запуском Visual Studio или началом сборки.

Параметр Автоматически проверять отсутствие пакетов при сборке в Visual Studio управляет автоматическим восстановлением путем изменения параметра packageRestore/automatic в разделе packageRestore файла NuGet.Config . Когда этот параметр имеет значение True, при запуске сборки из Visual Studio все отсутствующие пакеты восстанавливаются автоматически. Этот параметр не влияет на сборки, выполняемые из командной строки MSBuild.

Чтобы включить или отключить восстановление пакетов для всех пользователей на компьютере, разработчик или компания могут добавить параметры конфигурации в глобальный файл nuget.config . Глобальный файл nuget.config в Windows находится в каталоге %ProgramData%\NuGet\Config и иногда может размещаться в конкретной папке Visual Studio \\\\ . В Mac/Linux его следует искать в каталоге

/.local/share . После этого отдельные пользователи могут выборочно включить восстановление на уровне проекта по необходимости. Дополнительные сведения о том, как NuGet устанавливает приоритеты для нескольких файлов конфигурации, см. в статье Распространенные конфигурации NuGet.

При изменении параметров packageRestore прямо в nuget.config нужно перезапустить Visual Studio, чтобы диалоговое окно Параметры отображало текущие значения.

Выбор формата управления пакетами по умолчанию

Настройка формата управления пакетами по умолчанию с помощью параметров диспетчера пакетов NuGet

У NuGet есть два формата, в которых пакеты могут использоваться в проекте: PackageReference и packages.config . Формат по умолчанию можно выбрать в раскрывающемся списке под заголовком Управление пакетами. Также доступен параметр, позволяющий выводить запрос при установке первого пакета в проекте.

Если проект не поддерживает оба формата управления пакетами, используется формат, совместимый с данным проектом, поэтому он может отличаться от установленного по умолчанию в параметрах. Кроме того, NuGet не будет запрашивать выбор при установке первого пакета, даже если соответствующий параметр выбран в окне "Параметры".

Если консоль диспетчера пакетов используется для установки первого пакета в проекте, NuGet не будет запрашивать выбор формата, даже если соответствующий параметр выбран в окне "Параметры".

Восстановление с помощью dotnet в CLI

Как и с другими командами CLI dotnet , откройте командную строку и перейдите к каталогу, в котором находится файл проекта.

Восстановление пакета с помощью dotnet restore .

Чтобы добавить отсутствующую ссылку на пакет в файл проекта, используйте средство dotnet add package, которое также выполняет команду restore .

Восстановление с помощью nuget.exe в CLI

Используйте команду restore, которая скачивает и устанавливает любые отсутствующие пакеты из папки packages.

Для проектов, перенесенных в PackageReference, используйте msbuild -t:restore для восстановления пакетов.

Команда restore добавляет пакеты на диск, но не изменяет список зависимых компонентов проекта. Чтобы восстановить зависимые компоненты пакета, измените файл packages.config и затем выполните команду restore .

Как и с другими командами CLI nuget.exe , откройте командную строку и перейдите к каталогу, в котором находится файл проекта.

Восстановление пакета с помощью restore .

Команда restore не изменяет файл проекта или файл packages.config. Чтобы добавить зависимый компонент, добавьте пакет с помощью пользовательского интерфейса диспетчера пакетов или консоли в Visual Studio, либо измените файл packages.config и затем выполните команду install или restore .

Восстановление с помощью MSBuild

С помощью команды msbuild -t:restore вы можете восстановить пакеты, включенные в файл проекта (см. раздел о PackageReference), и проекты packages.config (начиная с версии MSBuild 16.5).

Эта команда доступна только в NuGet версии 4.x и более поздних и MSBuild версии 15.1 и более поздних, включенных в Visual Studio 2017 и более поздних версий. В MSBuild 16.5 и более поздних версий эта команда может также восстанавливать проекты на основе packages.config при запуске с параметром -p:RestorePackagesConfig=true .

Откройте Командную строку разработчика (в поле поиска введите Командная строка разработчика).

В общем случае следует запустить Командную строку разработчика для Visual Studio из меню Пуск, так как в этом случае настраиваются все необходимые пути для MSBuild.

Перейдите в папку, содержащую файл проекта, и введите следующую команду.

Введите следующую команду, чтобы перестроить проект.

Убедитесь, что выходные данные MSBuild показывают, что сборка выполнена успешно.

В MSBuild существует параметр -restore , который позволяет выполнить команду Restore , загрузить проект снова, а затем выполнить сборку. См. раздел Восстановление и сборка с помощью одной команды MSBuild.

Восстановление с помощью Azure Pipelines

Восстановление с помощью Azure DevOps Server

В Azure DevOps Server и TFS 2013 и более поздних версий пакеты восстанавливаются автоматически во время сборки при условии, что вы используете шаблон командной сборки для TFS 2013 или более поздней версии. В более ранних версиях TFS вы можете включить в процесс сборки этап, на котором будет выполняться команда восстановления из командной строки, а также при необходимости перенести шаблон сборки в более позднюю версию. Дополнительные сведения см. в статье Настройка восстановления пакетов с помощью сборки Team Foundation.

Ограничение версий пакетов при восстановлении

Когда NuGet восстанавливает пакеты любым из методов, учитываются все ограничения, указанные в packages.config или файле проекта:

В файле packages.config , вы можете указать диапазон версий в свойстве allowedVersion зависимости. Дополнительные сведения см. в статье Ограничение версий при обновлении. Пример:

В файле проекта вы можете указать диапазон для зависимости напрямую, используя PackageReference. Пример:

Во всех случаях используйте нотацию, описанную в статье Управление версиями пакета.

Принудительное восстановление из источников пакетов

Чтобы папка global-packages не использовалась, сделайте следующее:

  • Очистите папку с помощью команды nuget locals global-packages -clear или dotnet nuget locals global-packages --clear .
  • Перед операцией восстановления временно измените расположение папки global-packages с помощью одного из следующих методов:
    • В качестве значения переменной среды NUGET_PACKAGES задайте другую папку.
    • Создайте файл NuGet.Config , который в качестве значения параметра globalPackagesFolder (при использовании формата PackageReference) или repositoryPath (при использовании packages.config ) задает другую папку. Дополнительные сведения см. в статье, посвященной параметрам конфигурации.
    • Только для MSBuild: Укажите другую папку с помощью свойства RestorePackagesPath .

    Переход на автоматическое восстановление пакетов (Visual Studio)

    Диспетчер NuGet 2.6 и более ранних версий ранее поддерживал функцию восстановления пакетов, интегрированную в MSBuild. Но теперь такая функция недоступна (обычно, чтобы включить ее, нужно было щелкнуть правой кнопкой мыши решение в Visual Studio и выбрать Включить восстановление пакетов NuGet) Если в проекте используется устаревшая функция восстановления пакетов, встроенная в MSBuild, перейдите на автоматическое восстановление пакетов.

    В проектах, где используется функция восстановления пакетов, встроенная в MSBuild, обычно есть папка .nuget с тремя файлами: NuGet.config, nuget.exe и NuGet.targets. Наличие файла NuGet.targets определяет, будет ли NuGet и дальше использовать встроенный в MSBuild метод. Поэтому этот файл необходимо удалить во время миграции.

    Переход на автоматическое восстановление пакетов:

    1. Закройте Visual Studio.
    2. Удалите .nuget/nuget.exe и .nuget/NuGet.targets.
    3. Для каждого файла проекта удалите элемент <RestorePackages> и любые ссылки на NuGet. targets.

    Тестирование автоматического восстановления пакетов:

    Удалите папку из решения папку packages.

    Откройте решение в среде Visual Studio и начните сборку.

    При автоматическом восстановлении пакетов должен скачиваться и устанавливаться каждый пакет зависимостей без добавления таких пакетов в систему управления версиями.

    здесь аналогичной должности в стеке, но это не помогает с моей проблемой, возможно, потому, что я использую Visual Studio 2015.

    Как получить параметр "включить восстановление пакета NuGet" в VS2015?

    enter image description here

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

    это заняло слишком много времени, но я, наконец, нашел этот документ на миграция MSBuild-интегрированные решения для автоматического восстановления пакетов и я смог решить проблему, используя методы, описанные здесь.

    1. удалить '.nuget' каталог решений вместе с решением
    2. удалить все ссылки на nuget.targets из своего .csproj или .vbproj файлы. Хотя официально не поддерживается, документ ссылается на скрипт PowerShell если у вас есть много проектов, которые необходимо очистить. Я вручную отредактировал свой вручную, поэтому я не могу дать никаких отзывов о моем опыте с ним.

    при редактировании файлов вручную, вот что вы будете искать:

    Файл Решения (.sln)

    Файл Проекта (.csproj файл / .vbproj)

    Microsoft прекратила поддержку "Enable NuGet Package Restore" в VS2015, и вам нужно сделать некоторые изменения вручную, чтобы перенести старые решения или добавить функцию в новые решения. Новая функция описана довольно хорошо в Восстановление Пакета NuGet.

    существует также руководство по миграции для существующих проектов (как упоминалось ранее) здесь: Руководство По Миграции NuGet

    когда обновление:

    1. не удаляйте .каталог NuGet для.
    2. удалить nuget.exe и nuget.целевые файлы.
    3. оставьте nuget.конфиг.
    4. очистите каждый из файлов проекта от любой ссылки на цели NuGet вручную. Упомянутый сценарий Powershell, казалось, принес больше вреда, чем пользы.

    при создании нового проекта:

    1. в решении Visual Studio 2015, создайте каталог решения с именем .из NuGet.
    2. создайте фактический каталог каталога решения (где .sln файл живет) и назовите его .nuget (обратите внимание, что каталог решения не совпадает с фактическим каталогом файловой системы, даже если они имеют то же имя).

    создайте файл на .каталог nuget называется nuget.конфиг.

    поместите следующий текст в nuget.конфигурационный файл:

    <?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositorypath" value="$\..\..\..\..\Packages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>

    этот файл конфигурации позволит вам объединить все ваши пакеты в одном месте, чтобы у вас не было 20 разных копий одного и того же пакета, плавающих в вашей файловой системе. Относительный путь будет меняться в зависимости от архитектуры каталога решения, но он должен указывать на каталог, общий для всех решения.

    необходимо перезапустить visual studio после выполнения шага 5. Nuget не распознает изменения, пока вы этого не сделаете.

    наконец, возможно, вам придется использовать "NuGet Package Manager for Solutions" для удаления и повторной установки пакетов. Я не знаю, был ли это побочный эффект сценария Powershell, который я запустил, или просто способ вернуть NuGet в передачу. Как только я сделал все эти шаги, моя сложная архитектура сборки безупречно работала над сбиванием новых пакетов когда я проверял проекты из TFVC.

    дополнительно вы можете удалить все папки из папки " пакеты "и выбрать" Управление пакетами NuGet для решения. ". В этом случае в окнах пакетов NuGet появляется кнопка "восстановить".

    Restore

    Если у вас есть какие-либо проблемы или отсутствуют какие-либо пакеты, вы можете просто щелкнуть правой кнопкой мыши в своем проекте и выбрать "Управление пакетами NuGet для решения. ". После нажатия на это откроется экран, где вы увидите строку меню с надписью " восстановить":

    нажмите на него, и необходимые пакеты будут установлены автоматически.
    Я верю, что это то, что вы ищете, это решило мои проблемы.

    как уже упоминалось Майком, в VS2015 нет опции "включить восстановление пакета NuGet". Вам придется вызвать процесс восстановления вручную. Хороший способ-без возни с файлами и каталогами-использовать Консоль Управления Пакетами NuGet: Нажмите в поле "Быстрый старт" (обычно в правом верхнем углу), введите console откройте консоль и введите команду:

    это переустановит все пакеты всех проектов в вашем решение. Чтобы указать один проект, введите:

    при обновлении проектов с пакетами nuget с Vx20XX до VS2015 у вас может возникнуть проблема с пакетами nuget.

    обновление 2016-02-06: у меня была ссылка на информацию, но она больше не работает. Я подозреваю, что недавний путь решил проблему .

    вы можете скачать исполняемый инструмента здесь.

    пожалуйста, дайте мне знать результат :-) !

    enter image description here

    перейдите к ссылкам в visual studio и посмотрите, какие пакеты отсутствуют. Теперь щелкните правой кнопкой мыши на решении в Visual и нажмите на Открыть папку в проводнике. Теперь откройте папку packages и удалите отсутствующую папку packages. Откройте visual studio и просто создайте решение. все недостающие пакеты будут восстановлены. Пожалуйста, отметьте это как ответ, если я помог.

    этот подход сработал для меня:

    • закрыть VS2015
    • откройте решение временно в VS2013 и включите восстановление пакета nuget щелкнув правой кнопкой мыши на решении (я также сделал перестроение, но я подозреваю, что это не нужно).
    • закрыть VS2013
    • откройте решение в VS2015

    теперь вы включили восстановление пакета nuget в VS2015, а также.

    Я столкнулась с той же проблемой при попытке построить образец проекта gplus-quickstart-csharp-master.

    • Правой Кнопкой Мыши на файл и откройте в проводнике Windows.
    • скопировать .из NuGet С NuGet для.Config, NuGet.exe, NuGet.цели (скачать ссылке или просто скопируйте из другой проект и заменен)
    • попробуйте перестроить решение.

    Иван Branets решение по существу то, что исправил это для меня, но некоторые дополнительные детали могут быть разделены.

    в моем случае, я был в VS 2015 используя автоматическое восстановление пакета и TFS. Это все довольно стандартные вещи.

    проблема заключалась в том, что когда другой разработчик пытался получить решение от TFS, некоторые пакеты не были полностью восстановлены. (В этом я пока не уверен.) Но папка пакетов содержит папку для ссылки и пакета NuGet, но она не расширяется (скажем, папка lib, содержащая a .DLL был отсутствующий.) Эта половина там, но не совсем правильная концепция препятствовала восстановлению пакета.

    вы узнаете это, потому что ссылка будет иметь желтый восклицательный знак о не решается.

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

    закрыть VS. Удалите все в папке packages. Откройте ваше решение. Щелкните правой кнопкой мыши на своем проекте, выберите "Управление пакетами nuget". '. В верхней части окна "Диспетчер пакетов Nuget" появится желтая полоса с просьбой восстановить пакеты. Это сработало для меня.

    консоль диспетчера пакетов (Visual Studio, Tools > NuGet Package Manager > консоль диспетчера пакетов): выполните команду Update-Package-reinstall-ProjectName, где находится имя затронутого проекта, как оно отображается в обозревателе решений. Используйте Update-Package-reinstall для восстановления всех пакетов в решении. См. Раздел Пакет Обновления. При желании можно также переустановить один пакет.

    также может быть результатом запуска программы во время установки пакета. он неактивен, если вы попытаетесь щелкнуть его, пока встроенный IIS работает в фоновом режиме.

    Мне пришлось удалить папку пакетов закрыть и повторно открыть (VS2015) решение. Я не мигрировал, и у меня не было пакетов, проверенных в систему управления версиями. Все, что я могу сказать, что что-то перепуталось, и это все исправило.

    Если кто-то еще найдет эту проблему в Visual Studio 2017, убедитесь, что проект открыт .sln-файл, а не папка, так как visual studio не будет выбирать параметры, если он открыт папкой. Это происходит по умолчанию, если вы используете Visual Studio online services для git.

    Я msbuild /t:restore .

    моя проблема была с MSBuild Так что я следовал @Vinney Kelly'S ссылка: миграция MSBuild-интегрированные решения для автоматического восстановления пакетов

    это сработало как шарм =]

    MSBuild используйте msbuild /t:restore команда, которая восстанавливает пакеты пакеты, перечисленные в файле проекта (PackageReference только). Доступный только в NuGet 4.х+ и MSBuild 15.1+, которые включены в визуальный студия 2017. nuget restore и dotnet restore как использовать эту команду для прикладных проектов.

    помог мне через инструменты >>> Менеджер Пакетов Nuget >>> общие затем галочкой опцию разрешить Nuget загружать отсутствующий пакет и автоматически проверять отсутствие пакетов во время сборки в visual studio.

    У меня есть проект, загруженный из репозитория GitHub. Я пытаюсь восстановить его пакеты NuGet, но не могу без полной переустановки.

    Есть вариант пользовательского интерфейса, который я бы хотел использовать:

    enter image description here

    Когда я его использую, он открывает свойства решения на вкладке «Свойства».

    Это его настройки:

    enter image description here

    Когда я пытаюсь использовать Очистить кеш пакетов NuGet , я получаю следующее необработанное исключение:

    enter image description here

    Поскольку есть более старые ссылки, если я использую команду Update-Package -reinstall , каждый пакет будет обновлен до последней версии (если я не сделаю это один за другим . для каждого из 47 пакетов . )

    Я удалил папку .nuget, и после восстановления она остается пустой.

    2 ответа

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

    Вы можете сделать это, выбрав Инструменты-> Настройки импорта и экспорта , а затем выбрав Сбросить все настройки . Есть возможность сохранить текущие настройки в качестве резервной копии, но я не сохранил их из-за предполагаемого поврежденного состояния.

    enter image description here

    Кажется, это ядерный вариант , но он сработал.

    Проверьте, есть ли в проекте из github файл с именем packages.config , если да, то это подтверждает, что проект использует packages.config для управления пакетами nuget.

    Если в проекте использовался packages.config формат управления nuget для управления пакет и просто удалите папку .nuget , затем перестройте свой проект, он не восстановил пакеты в папке .nuget . Он фактически ссылается на пакеты из папки packages в папке решения.

    enter image description here

    Итак, вам также следует удалить папку packages из папки решения, а затем перестроить проект. Затем пакеты будут восстановлены в папке .nuget (это особенность packages.config ).

    Если это не работает и для обработки ошибки, показанной на скриншоте, попробуйте следующие предложения:

    Предложение

    enter image description here

    Также проверьте, есть ли у вас файл nuget.config в папке решения или над папкой, и если да, проверьте, есть ли у него ключ с именем globalPackagesFolder.

    Удалите его напрямую, а затем перезапустите проект.

    Более подробную информацию вы можете найти в эту ссылку.

    2) закройте VS, удалите глобальный файл nuget.config в C:\Users\xxx(current user name)\AppData\Roaming\NuGet .

    Также удалите скрытую папку .vs в папке решения, bin и obj папку и перезапустите VS, чтобы регенерировать файл nuget.config .

    3) отключите все сторонние расширения в разделе Расширения Управление расширениями .

    4) Если есть какие-либо обновления для VS, обновите их.

    Читайте также: