visual-studio-2010 package - Как установить пакет NuGet во второй проект в решении?




manager 2017 (7)

В настоящее время я работаю над решением, которое первоначально содержало один проект ( 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 установить пакет во второй проект ?


Answers

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

Install-Package ThePackage -ProjectName YourProjectName

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


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


Ответ заключается в том, что смущающе, вслепую просто.

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


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


Есть 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 и больше ничего.


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

Update-Package Microsoft.Owin -Reinstall

Мне пришлось копировать источник NuGet по умолчанию в настройках Visual Studio. С скопированным источником я изменил URL-адрес с https на http . Это решило проблему для меня.

Кредит на это предложение принадлежит здесь: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , к "jpharris4".







visual-studio-2010 visual-studio nuget