How do I install a NuGet package into the second project in a solution?

Rob picture Rob · Feb 11, 2011 · Viewed 87k times · Source

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 run Install-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?

Answer

davidfowl picture davidfowl · Feb 13, 2011

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.