How do I install a NuGet package into the second project in a solution?
Solution 1
There's 3 approaches :).
In NuGet 1.1 (The latest release) we've improved powershell pipelining so you can do this:
Get-Project -All | Install-Package SomePackage
That will install "SomePackage" into all of your projects. You can use wildcards to narrow down which projects:
Get-Project Mvc* | Install-Package SomePackage
That will use wildcard semantics (in this case, find all projects that start with mvc).
Get-Project SomeProject | Install-Package SomePackage
That will install SomePackage into SomeProject and nothing else.
Solution 2
There's two approaches.
As you already learned, the Package Manager Console has a drop down that lists the projects in your solution.
The other approach is to use the -Project flag. Nice thing about that is it gives you Intellisense with the project names! For example:
Install-Package SomePackage -Project MvcApplication2
Solution 3
The answer is, embarassingly, blindlingly simple.
The "Package Manager Console" has a drop-down titled "Default Project" in its toolbar, changing the project there to My.Second.Project.Name
then allows Install-Package Castle.Windsor
to install the package into the second project.
Solution 4
In Visual Studio 2015 (as of Nuget v3.1.2) the syntax is now:
Install-Package ThePackage -ProjectName YourProjectName
Note: -ProjectName vs -Project
Solution 5
In Visual Studio, you can go to Tools -> NuGet Package Manager -> Manage NuGet Packages for the entire Solution
. From there, select the Nuget Package you want to share between projects and click Manage
. This will allow you to add a specific installed NuGet Package to whichever other projects you want.
Related videos on Youtube
Rob
I work in the Foreign Exchange industry, with prior experience in Telecoms. My interests are wide and varied, though primarily around the Microsoft technology stack. Outside of tech, it's cooking, cats and New Zealand Sauvignon Blanc that tend to capture my interest! ;)
Updated on February 06, 2021Comments
-
Rob over 3 years
I'm currently working on a solution that initially contained one project (
My.First.Project.Name
). I've installed Castle Windsor by executing:Install-Package Castle.Windsor
I've just added another project (
My.Second.Project.Name
) to the solution and want to install Castle Windsor into this project also, but when I runInstall-Package Castle.Windsor
again, I get the error:'Castle.Core 2.5.2' already installed
'Castle.Windsor 2.5.2' already installed
My.First.Project.Name already has a reference to 'Castle.Core 2.5.2'
My.First.Project.Name already has a reference to 'Castle.Windsor 2.5.2'So my question is: How do I persuade the NuGet Package Manager to install the package into the second project?
-
Jalal almost 12 yearsand 3th approache is simply calling
Install-Package SomePackage
to install it on current project. -
Chris W over 8 yearsBut what is "current" project?
-
davidfowl over 8 yearsThe selected one in the dropdown
-
Eternal21 about 8 years@jalal That doesn't work, just tried it in VS2015. The package always installed to the first project, not the current one.
-
Jalal about 8 years@Eternal21 You can select current project from project drop-down in Package Manager Console window.
-
willem about 8 yearsI never knew about this window. Super powerful, nice!
-
Alex Gordon about 7 yearsyou adverb usage is unbelievably, unquestionably, delightful
-
Marco Guignard almost 6 yearsI have spend one hour looking around this functionnality ! Thank you very much for this one !
-
ROBERT RICHARDSON over 3 yearsI do not see a "Manage" button. Where is it supposed to be?
-
rstreet over 2 yearsPressing the tab key after Get-Project will give a drop-down of projects to choose from and can save a few keystrokes.