行。非常快速的问题,我可能只是很厚。
如果您右键单击项目的“引用”文件夹,然后单击“管理 NuGet 包”,则可以安装包,您单击的项目会自动引用它们。但后来我想在同一个解决方案中添加对其他项目的相同引用。如果您重复前面但单击另一个项目唯一的选择是卸载包(因为它已经安装),添加现有(已安装)NuGet 包作为项目参考的正确方法是什么?我是否要使用普通对话框和“浏览”将引用添加到包文件夹中的 dll 中?使用一种方法添加第一个引用,然后使用另一种方法添加后续引用?这似乎不对。
行。非常快速的问题,我可能只是很厚。
如果您右键单击项目的“引用”文件夹,然后单击“管理 NuGet 包”,则可以安装包,您单击的项目会自动引用它们。但后来我想在同一个解决方案中添加对其他项目的相同引用。如果您重复前面但单击另一个项目唯一的选择是卸载包(因为它已经安装),添加现有(已安装)NuGet 包作为项目参考的正确方法是什么?我是否要使用普通对话框和“浏览”将引用添加到包文件夹中的 dll 中?使用一种方法添加第一个引用,然后使用另一种方法添加后续引用?这似乎不对。
您可以通过以下方式使用Manage NuGet packages for Solution...
:
Tools > Library Package Manager > Manage NuGet packages for Solution
然后您可以选择在哪些项目中安装包,如下面的屏幕截图所示:
此外,您可以使用相同的
Manage NuGet packages for Solution...
.
这里的另一个答案对我没有帮助。这就是我所做的,我不知道还有其他方法可以做到这一点。我正在使用 VS 2013。
PM> Install-Package Newtonsoft.Json
这为项目的引用添加了一个相对路径,因此它应该与其他人一起将代码从源代码管理中获取到不同的目录中。
我遇到过同样的问题。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>
...
希望这可以帮助某人。它为我节省了很多点击:)
现在我使用包管理器控制台(查看->其他 Windows->包管理器控制台)。
您可能只需要以下两个命令:
install-package <package-name> [-version <version-number>] [-project <project-name]
和
update-package <package-name> [-reinstall] [-version <version-number>] [-project <project-name>]
在哪里
起初我认为这些命令的行为有点奇怪,但根据经验,我发现它们像这样最有用。虽然我个人会完全放弃“默认项目”下拉菜单。