确定。真的很快问题,我可能只是很厚。
如果右键单击项目的“引用”文件夹,然后“管理NuGet包”,则可以安装包,它们会被您单击的项目自动引用。但后来我想在同一个解决方案中为其他项目添加相同的引用。如果您重复上一个但是单击另一个项目,唯一的选择是卸载软件包(因为它已经安装),将现有(已安装的)NuGet软件包添加为项目引用的正确方法是什么?我是使用普通对话框添加引用并“浏览”到packages文件夹中的dll吗?使用一种方法添加第一个引用然后添加另一个引用用于后续引用这似乎不对。
答案 0 :(得分:84)
您可以使用Manage NuGet packages for Solution...
:
Tools > Library Package Manager > Manage NuGet packages for Solution
然后您可以选择安装包的项目,如下面的屏幕截图所示:
此外,您可以使用相同的Manage NuGet packages for Solution...
将已安装的软件包添加到解决方案中的其他项目。
答案 1 :(得分:19)
这里的另一个答案对我没有帮助。这就是我所做的,我不知道其他任何方式。我正在使用VS 2013.
PM> Install-Package Newtonsoft.Json
这为项目的引用添加了一个相对路径,因此它应该与其他人一起使用从源代码管理中获取代码到不同的目录。
答案 2 :(得分:1)
我有同样的问题。由 kristianp 发布的解决方案已按预期工作,但在处理大量软件包时可能会有点麻烦。对我有用的解决方案只是编辑记事本中的 myProjectName.csproj 文件,而只是复制粘贴其他项目的引用,如下所示:
...
<ItemGroup>
<Reference Include="Microsoft.AspNet.SignalR.Core">
<HintPath>..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SignalR.SystemWeb">
<HintPath>..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.1.2\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
</Reference>
...
希望这有助于某人。它为我节省了很多点击次数:))
答案 3 :(得分:0)
现在,我使用 Package Manager控制台(查看->其他Windows-> Package Manager控制台)。
您所需要的就是以下两个命令:
install-package <package-name> [-version <version-number>] [-project <project-name]
和
update-package <package-name> [-reinstall] [-version <version-number>] [-project <project-name>]
其中
起初,我认为这些命令的行为有点怪异,但是根据经验,我发现它们像这样最有用。虽然我个人会完全放弃“默认项目”下拉列表。