Как установить пакет NuGet во второй проект в решении?

в настоящее время я работаю над решением, которое изначально содержало один проект (My.First.Project.Name). Я установил замок Виндзор, выполнив:

Install-Package Castle.Windsor

Я только что добавил еще один проект (My.Second.Project.Name) на решение и хотите установить замок Виндзор в этот проект, но когда я запускаю Install-Package Castle.Windsor опять же, я получаю ошибку:

'.Core 2.5.2 ' уже установлен
Замок.Windsor 2.5.2 ' уже установлен
Мой.Во-первых.Проект.Название уже есть ссылка на замок.Основной 2.5.2'
Мой.Во-первых.Проект.Название уже есть ссылка на замок.Виндзор 2.5.2'

Итак, мой вопрос: как убедить менеджера пакетов NuGet установить пакет во второй проект?

7 ответов


есть 3 подхода :).
В NuGet 1.1 (последняя версия) мы улучшили конвейерную обработку powershell, чтобы вы могли это сделать:

Get-Project -All | Install-Package SomePackage

это установит "SomePackage" во все ваши проекты. Вы можете использовать подстановочные знаки, чтобы сузить, какие проекты:

Get-Project Mvc* | Install-Package SomePackage

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

Get-Project SomeProject | Install-Package SomePackage

это установит SomePackage в SomeProject и ничего больше.


есть два подхода.

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

другой подход-использовать флаг-Project. Хорошая вещь в том, что это дает вам Intellisense с именами проектов! Например:

Install-Package SomePackage -Project MvcApplication2

ответ, embarassingly, blindlingly просто.

" консоль диспетчера пакетов "имеет раскрывающийся список" проект по умолчанию " на панели инструментов, меняя проект на My.Second.Project.Name и Install-Package Castle.Windsor для установки пакета во второй проект.


в Visual Studio 2015 (по состоянию на Nuget v3.1.2) синтаксис теперь:

Install-Package ThePackage -ProjectName YourProjectName

Примечание: - Projectимя vs-Project


в Visual Studio можно перейти к Tools -> NuGet Package Manager -> Manage NuGet Packages for the entire Solution. Оттуда выберите пакет Nuget, который вы хотите разделить между проектами, и нажмите Manage. Это позволит вам добавить определенный установленный пакет NuGet в любой другой проект, который вы хотите.


Если вам просто нужно скопировать пакеты из существующего проекта в Новый, просто скопируйте и / или измените пакеты.файл конфигурации для нового проекта и запустите Update-Package -reinstall -Project YourProjectName


существует также возможность принудительной переустановки. С некоторыми проблемами это помогло мне.

Update-Package Microsoft.Owin -Reinstall