Как установить пакет NuGet во второй проект в решении?
В настоящее время я работаю над решением, которое первоначально содержало один проект (My.First.Project.Name
). Я установил Castle Windsor, выполнив:
Install-Package Castle.Windsor
Я только что добавил в проект еще один проект (My.Second.Project.Name
) и хочу установить Castle Windsor в этот проект, но когда я снова запустил Install-Package Castle.Windsor
, я получаю сообщение об ошибке:
'Castle.Core 2.5.2' уже установлен
Установлен" Castle.Windsor 2.5.2 "
My.First.Project.Name уже имеет ссылку на "Castle.Core 2.5.2 "
My.First.Project.Name уже имеет ссылку на "Castle.Windsor 2.5.2 "
Итак, мой вопрос: как убедить диспетчера пакетов NuGet установить пакет во второй проект?
Ответы
Ответ 1
Там 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 и ничего больше.
Ответ 2
Есть два подхода.
Как вы уже узнали, консоль диспетчера пакетов имеет выпадающее меню, в котором перечислены проекты в вашем решении.
Другой подход - использовать флаг -Project. Хорошая вещь в том, что это дает вам Intellisense с названиями проектов! Например:
Install-Package SomePackage -Project MvcApplication2
Ответ 3
Ответ заключается в том, что смущающе, вслепую просто.
"Консоль диспетчера пакетов" имеет раскрывающееся меню под названием "Проект по умолчанию" на панели инструментов, меняя проект там на My.Second.Project.Name
, а затем Install-Package Castle.Windsor
устанавливает пакет во второй проект.
Ответ 4
В Visual Studio 2015 (начиная с Nuget v3.1.2) синтаксис теперь:
Install-Package ThePackage -ProjectName YourProjectName
Примечание: -Project Имя vs -Project
Ответ 5
В Visual Studio вы можете перейти к Tools -> NuGet Package Manager -> Manage NuGet Packages for the entire Solution
. Оттуда выберите пакет Nuget, который вы хотите разделить между проектами, и нажмите Manage
. Это позволит вам добавить определенный установленный пакет NuGet в любой другой проект, который вы хотите.
Ответ 6
Если вам просто нужно скопировать пакеты из существующего проекта в новый, просто скопируйте и/или измените файл packages.config в новый проект и запустите Update-Package -reinstall -Project YourProjectName
Ответ 7
Существует также возможность принудительно переустановить. С определенными проблемами это помогло мне.
Update-Package Microsoft.Owin -Reinstall