Как докачать остальные пакеты в VIsual Studio?
При установке снял галочки с некоторых пакетов, можно ли после установки докачать прямо из VS? Переустанавливать IDE как-то не хочется.
Запустите Visual Studio Installer (например, в меню пуск наберите это название)

Нажмите на Modify и выберите, что хотите установить или удалить:

После выбора нажмите на кнопку Modify в правом нижнем углу
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Name already in use
docs.microsoft.com-nuget.ru-ru / docs / consume-packages / Package-Restore.md
- Go to file T
- Go to line L
- Copy path
- Copy permalink
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Восстановление пакетов с помощью функции восстановления пакетов
Чтобы очистить среду разработки и уменьшить размер репозитория, функция восстановления пакетов NuGet устанавливает все зависимости проекта, указанные в файле проекта или файле packages.config . В версиях .NET Core 2.0 и более поздних команды dotnet build и dotnet run выполняют автоматическое восстановление пакетов. Visual Studio может автоматически восстанавливать пакеты при сборке проекта. Кроме того, вы можете в любой момент самостоятельно восстановить пакеты с помощью Visual Studio, nuget restore , dotnet restore , а также xbuild в Mono.
Восстановление пакетов гарантирует доступность всех зависимостей проекта без сохранения этих пакетов в системе управления версиями. Дополнительные сведения о настройке исключения двоичных файлов пакетов в репозитории системы управления версиями см. в статье Пакеты и система управления версиями.
Обзор восстановления пакетов
Функция восстановления пакетов сначала устанавливает необходимые прямые зависимости проекта, а затем остальные зависимости этих пакетов во всей схеме зависимостей.
Если пакет не установлен, NuGet сначала попытается извлечь его из кэша. Если пакет отсутствует в кэше, NuGet пытается скачать его из всех источников, которые включены в списке в разделе Средства > Параметры > Диспетчер пакетов NuGet > Источники пакетов в Visual Studio. Во время восстановления NuGet игнорирует порядок источников пакетов, используя пакет из любого источника, первым ответившего на запросы. Дополнительные сведения о поведении NuGet см. в статье Распространенные конфигурации NuGet.
[!Note] 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 4.0 и более поздних версий также доступно автоматическое восстановление при изменении проекта типа пакета SDK (как правило, проекта .NET Core или .NET Standard).
Включите автоматическое восстановление пакетов, выбрав Средства > Параметры > Диспетчер пакетов NuGet и щелкните Автоматически проверять отсутствие пакетов при сборке в Visual Studio в разделе Восстановление пакетов.
Для проектов не на основе пакета SDK сначала выберите Разрешить NuGet скачивать отсутствующие пакеты, чтобы включить автоматическое восстановление.
Выполните построение проекта.
Если какие-либо пакеты по-прежнему установлены некорректно, в обозревателе решений отображается значок ошибки. Щелкните правой кнопкой мыши и выберите Управление пакетами NuGet, после чего удалите и переустановите затронутые пакеты с помощью диспетчера пакетов. Дополнительные сведения см. в статье Переустановка и обновление пакетов.
Если отображается ошибка «Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере» или «Необходимо восстановить один или несколько пакетов NuGet, однако это невозможно без вашего согласия», включите автоматическое восстановление. Для более старых проектов см. инструкции по переходу на автоматическое восстановление пакетов. Дополнительные сведения см. в статье Устранение ошибок при восстановлении пакетов.
Восстановление пакетов вручную с помощью Visual Studio
Включите восстановление пакетов, выбрав Средства > Параметры > Диспетчер пакетов NuGet. В разделе Восстановление пакетов щелкните Разрешить NuGet скачивать отсутствующие пакеты.
Щелкните правой кнопкой мыши решение в обозревателе решений и выберите Восстановить пакеты NuGet.
Если какие-либо пакеты по-прежнему установлены некорректно, в обозревателе решений отображается значок ошибки. Щелкните правой кнопкой мыши и выберите Управление пакетами NuGet, а затем удалите и переустановите затронутые пакеты с помощью диспетчера пакетов. Дополнительные сведения см. в статье Переустановка и обновление пакетов.
Если отображается ошибка «Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере» или «Необходимо восстановить один или несколько пакетов NuGet, однако это невозможно без вашего согласия», включите автоматическое восстановление. Для более старых проектов см. инструкции по переходу на автоматическое восстановление пакетов. Дополнительные сведения см. в статье Устранение ошибок при восстановлении пакетов.
Включение и отключение восстановления пакетов с помощью Visual Studio
В Visual Studio для управления восстановлением пакетов используются преимущественно параметры в разделе Средства > Параметры > Диспетчер пакетов NuGet:

Параметр Разрешить NuGet скачивать отсутствующие пакеты определяет все формы восстановления пакетов посредством изменения параметра packageRestore/enabled в разделе packageRestore файла NuGet.Config в каталоге %AppData%\NuGet\ в Windows или
/.nuget/NuGet/ в Mac/Linux. Этот параметр также обеспечивает работу команды Восстановить пакеты NuGet в контекстном меню решения в Visual Studio.
[!Note] Параметр 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 \
/.local/share . После этого отдельные пользователи могут выборочно включить восстановление на уровне проекта по необходимости. Дополнительные сведения о том, как NuGet устанавливает приоритеты для нескольких файлов конфигурации, см. в статье Распространенные конфигурации NuGet.
[!Important] При изменении параметров packageRestore прямо в nuget.config нужно перезапустить Visual Studio, чтобы диалоговое окно Параметры отображало текущие значения.
Выбор формата управления пакетами по умолчанию

У NuGet есть два формата, в которых пакеты могут использоваться в проекте: PackageReference и packages.config . Формат по умолчанию можно выбрать в раскрывающемся списке под заголовком Управление пакетами. Также доступен параметр, позволяющий выводить запрос при установке первого пакета в проекте.
[!Note] Если проект не поддерживает оба формата управления пакетами, используется формат, совместимый с данным проектом, поэтому он может отличаться от установленного по умолчанию в параметрах. Кроме того, NuGet не будет запрашивать выбор при установке первого пакета, даже если соответствующий параметр выбран в окне «Параметры».
Если консоль диспетчера пакетов используется для установки первого пакета в проекте, NuGet не будет запрашивать выбор формата, даже если соответствующий параметр выбран в окне «Параметры».
Восстановление с помощью dotnet в CLI
[!IMPORTANT] Чтобы добавить отсутствующую ссылку на пакет в файл проекта, используйте средство dotnet add package, которое также выполняет команду restore .
Восстановление с помощью nuget.exe в CLI
[!IMPORTANT] Команда 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 показывают, что сборка выполнена успешно.
[!Note] В MSBuild существует параметр -restore , который позволяет выполнить команду Restore , загрузить проект снова, а затем выполнить сборку. См. раздел Восстановление и сборка с помощью одной команды MSBuild.
Восстановление с помощью Azure Pipelines
При создании определения сборки в Azure Pipelines включите в него задачу восстановления NuGet или .NET Core, а затем добавьте задачу сборки. В некоторые шаблоны сборки задача восстановления включена по умолчанию.
Восстановление с помощью Azure DevOps Server
В Azure DevOps Server и TFS 2013 и более поздних версий пакеты восстанавливаются автоматически во время сборки при условии, что вы используете шаблон командной сборки для TFS 2013 или более поздней версии. В более ранних версиях TFS вы можете включить в процесс сборки этап, на котором будет выполняться команда восстановления из командной строки, а также при необходимости перенести шаблон сборки в более позднюю версию. Дополнительные сведения см. в статье Настройка восстановления пакетов с помощью сборки Team Foundation.
Ограничение версий пакетов при восстановлении
Когда NuGet восстанавливает пакеты любым из методов, учитываются все ограничения, указанные в packages.config или файле проекта:
В файле packages.config , вы можете указать диапазон версий в свойстве allowedVersion зависимости. Дополнительные сведения см. в статье Ограничение версий при обновлении. Пример:
В файле проекта вы можете указать диапазон для зависимости напрямую, используя PackageReference. Пример:
Во всех случаях используйте нотацию, описанную в статье Управление версиями пакета.
Принудительное восстановление из источников пакетов
По умолчанию в операциях восстановления NuGet используются пакеты из папки global-packages и http-cache, как описано в статье Управление папкой установки глобальных пакетов, кэшем и временными папками.
Чтобы папка 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 .
Чтобы не использовать кэш с источниками HTTP, выполните одно из следующих действий:
- Используйте параметр -NoCache с nuget restore или параметр —no-cache с dotnet restore . Эти параметры не влияют на операции восстановления с помощью диспетчера пакетов или консоли Visual Studio.
- Очистите кэш с помощью команды nuget locals http-cache -clear или dotnet nuget locals http-cache —clear .
- Временно в качестве значения переменной среды NUGET_HTTP_CACHE_PATH задайте другую папку.
Переход на автоматическое восстановление пакетов (Visual Studio)
Диспетчер NuGet 2.6 и более ранних версий ранее поддерживал функцию восстановления пакетов, интегрированную в MSBuild. Но теперь такая функция недоступна (обычно, чтобы включить ее, нужно было щелкнуть правой кнопкой мыши решение в Visual Studio и выбрать Включить восстановление пакетов NuGet) Если в проекте используется устаревшая функция восстановления пакетов, встроенная в MSBuild, перейдите на автоматическое восстановление пакетов.
В проектах, где используется функция восстановления пакетов, встроенная в MSBuild, обычно есть папка .nuget с тремя файлами: NuGet.config, nuget.exe и NuGet.targets. Наличие файла NuGet.targets определяет, будет ли NuGet и дальше использовать встроенный в MSBuild метод. Поэтому этот файл необходимо удалить во время миграции.
Переход на автоматическое восстановление пакетов:
- Закройте Visual Studio.
- Удалите .nuget/nuget.exe и .nuget/NuGet.targets.
- Для каждого файла проекта удалите элемент <RestorePackages> и любые ссылки на NuGet. targets.
Тестирование автоматического восстановления пакетов:
Удалите папку из решения папку packages.
Откройте решение в среде Visual Studio и начните сборку.
При автоматическом восстановлении пакетов должен скачиваться и устанавливаться каждый пакет зависимостей без добавления таких пакетов в систему управления версиями.
Visual studio как докачать пакеты
Вместо создания своих собственных библиотек и определения своего собственного функционала мы можем использовать уже ранее созданные другими разработчиками библиотеки и добавить их свой проект. Для управления внешними библиотеками в виде отдельных пакетов Microsoft предоставляет специальный менеджер пакетов под названием Nuget .
Физически NuGet-пакет представляет единый архивный файл с расширением .nupkg, который содержит скомпилированный код в виде библиотек dll и других файлов, используемых в коде. Также пакет включает некоторое описание в виде номера версии и вспомогательной информации.
Для упрощения работы с пакетами, их распространенния Microsoft организовал глобальный репозиторий пакетов в виде сервиса nuget.org . И если разработчик хочет поделиться своими наработками, он может загрузить свой код в виде Nuget-пакета в этот репозиторий, а другие разработчики могут скачать этот пакет и использовать его в свой программе. Посмотрим, как устанавливать Nuget-пакеты и использовать их в своем проекте. Прежде всего стоит отметить, что есть различные способы установки пакетов. В данном случае рассмотрим установку пакетов с помощью .NET CLI и в Visual Studio.
Установка nuget-пакетов с помощью .NET CLI
Если мы компилируем приложение непосредственно с помощью .NET CLI без каких-нибудь сред разработки типа Visual Studio, то мы можем воспользоваться встроенными инструментами, которые имеются в .NET SDK.
Для примера создадим с помощью .NET CLI новый проект консольного приложения:
Для примера возьмем такой популярный Nuget-пакет как Newtonsoft.Json , который предназначен для работы с кодом json. Для этого перейдем в терминале к расположению проекта и выполним команду:
После команды dotnet add package указывается имя пакета:

если после этого мы откроем файл конфигурации проекта с расширением csproj , то встретим там элемент PackageReference , который представляет добавленный пакет
Здесь мы видим атрибут Include , который указывает на название пакета для включения в проект, и атрибут Version — версию пакета.
Пакет добавили, теперь используем его. Для этого определим следующий код программы:
С помощью вызова статического метода JsonConvert.SerializeObject(tom) сериализуем объект tom в код json и потом этот код выводим на консоль.
Запустим проект командой dotnet run и посмотрим на результат программы:
Таким образом, мы установили в проект Nuget-пакет и использовали его функциональность в своей программе. Если впоследствии пакет станет не нужен, то его можно удалить командой:
После команды dotnet remove package указывается название удаляемого пакета.
Установка пакета в Visual Studio
Visual Studio обладает богатым функционалом в плане работы с nuget-пакетами. Так, возьмем также простейший проект консольного приложения и добавим в него тот же пакет Newtonsoft.Json . Для этого нажмем правой кнопкой на название проекта и в контекстном меню выберем Manage NuGet Packages. :

Нам откроется встроенный менеджер пакетов Nuget:

Для упрощения поиска нужного пакета введем название пакета в поле поиска. После этого список пакетов обновится. И обычно первый пакет в этом списке тот, который нужен. При необходимости в правой части мы можем посмотреть информацию о пакете.
Итак, нажмем на кнопку Install для его установки. Далее может отобразиться дополнительное окно для просмотра пакетов, которые непосредственно будут установлены:

После установки в структуре проекта появится узел Packages с установленным пакетом, и соответствующая запись будет внесена в файл конфигурации проекта:

И теперь мы также сможем использовать функциональность пакета в программе.
В качестве альтернативы для добавления пакетов можно использовать Package Manager Console . Для этого в меню Visual Studio перейдем к пункту Tools -> NuGet Package Manager -> Package Manager Console . И в открывшемся внизу в Visual Studio окне Package Manager Console введем команду:
Формат: после команды Install-Package указывается название устанавливаемого пакета.
Мои 5 копеек. Вставить.

Программист из меня так себе, самоучка, без академического образования. Но Visual Studio приходиться пользоваться время от времени.
Попался мне один проект, который я хотел скомпилировать и изучить. Но не тут-то было. Проект использовал несколько библиотек, которые у меня не были установлены. Ну, и соответственно, ссылки на эти библиотеки в проекте были «битыми», и компиляция прекращалась с ошибками.
Как оказалось, проект был сконфигурирован так, чтобы подгружать эти библиотеки из онлайна. Но у меня почему-то ничего не подгружалось.
После быстрого поиска в интернете, я разобрался, что к чему и чего у меня не хватало (кроме определенного количества мозгов 🙂 ) и проект у меня нормально собрался.
Что же мне пришлось сделать?
Во-первых, в Студии нужно было установить NuGet Package Manager. Если кратко, то это расширение для Студии, которое как раз и позволяет всякие недостающие для проекта библиотеки в виде специальных пакетов скачивать и устанавливать из онлайна.
Его можно скачать и установить из галереи расширений (NuGet.Tools.vsix). Но, наверное, проще всего будет его установить с помощью менеджера расширений в Студии (Tools / Extensions and Updates или Tools / Extension Manager).

NuGet Package Manager в расширениях и обновлениях в Visual Studio Кстати, бывает так, что NuGet установлен, но не последняя версия, тогда нужно глянуть в Updates в менеджере расширений.
Да, если установка завершается ошибкой, то убедитесь, что ваша Студия соответствует минимальным требованиям для установки этого расширения — установлены сервис-паки, хотфиксы и т.п.