![](/img/trans.png)
[英]Install NuGet package in a second project in the solution, using the GUI
[英]How do I install a NuGet package into the second project in a solution?
我目前正在研究最初包含一個項目 ( 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 包管理器將包安裝到第二個項目中?
有 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 標志。 好消息是它為您提供了帶有項目名稱的智能感知! 例如:
Install-Package SomePackage -Project MvcApplication2
答案是,令人尷尬地,盲目地簡單。
“包管理器控制台”在其工具欄中有一個名為“默認項目”的下拉菜單,將那里的項目更改為My.Second.Project.Name
然后允許Install-Package Castle.Windsor
將包安裝到第二個項目中。
在 Visual Studio 2015(從 Nuget v3.1.2 開始)中,語法現在是:
Install-Package ThePackage -ProjectName YourProjectName
注意:-項目名稱與-項目
在 Visual Studio 中,您可以轉到Tools -> NuGet Package Manager -> Manage NuGet Packages for the entire Solution
。 從那里,選擇要在項目之間共享的 Nuget 包,然后單擊Manage
。 這將允許您將特定安裝的 NuGet 包添加到您想要的任何其他項目。
如果您只需要將包從現有項目復制到新項目,只需將 packages.config 文件復制和/或修改到新項目並運行Update-Package -reinstall -Project YourProjectName
還可以選擇強制重新安裝。 對於某些問題,這對我有幫助。
Update-Package Microsoft.Owin -Reinstall
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.