在VS2012中添加NuGet包作为项目引用的最佳方式?

好。 真的很快的问题,我可能只是很厚。

如果你右键点击一个项目的引用文件夹,然后点击'管理NuGet包',你就可以安装软件包,它们会被你点击的项目自动引用。 但是接下来我想在同一个解决方案中为其他项目添加相同的参考。 如果你重复上一步,但点击另一个项目,唯一的选择是卸载软件包(因为它已经安装),添加现有(已安装)NuGet软件包作为项目参考的正确方法是什么? 我是使用普通对话框添加引用,然后将'browse'添加到packages文件夹中的dll中? 使用一种方法为后续引用添加第一个引用和另一个引用? 这看起来不正确。


您可以使用Manage NuGet packages for Solution...通过:

  • 右键点击解决方案
  • Tools > Library Package Manager > Manage NuGet packages for Solution
  • 然后你可以在下面的屏幕截图中选择安装包的项目: 在这里输入图像描述 另外,您可以使用与Manage NuGet packages for Solution...相同的Manage NuGet packages for Solution...将已安装软件包添加到解决方案中的其他项目。 在这里输入图像描述


    这里的其他答案并没有帮助我。 这是我所做的,我不知道有任何其他的方式来做到这一点。 我正在使用VS 2013。

  • 我在软件包管理器控制台中安装了软件包,例如PM> Install-Package Newtonsoft.Json
  • 在解决方案资源管理器中,右键单击引用,选择添加引用
  • 单击浏览,然后导航到解决方案文件夹下的packages目录中的dll。
  • 这为项目的引用添加了相对路径,所以它应该与其他人从源代码控制中获取代码到不同的目录中。


    我遇到过同样的问题。 kristianp发布的解决方案按预期工作,但是在处理大量包时可能有点麻烦。 这个解决方案对我来说只是编辑记事本中的myProjectName.csproj文件,并且只是为了复制粘贴来自另一个项目的引用,如下所示:

    ...
    
    <ItemGroup>
        <Reference Include="Microsoft.AspNet.SignalR.Core">
          <HintPath>..packagesMicrosoft.AspNet.SignalR.Core.2.1.2libnet45Microsoft.AspNet.SignalR.Core.dll</HintPath>
        </Reference>
        <Reference Include="Microsoft.AspNet.SignalR.SystemWeb">
          <HintPath>..packagesMicrosoft.AspNet.SignalR.SystemWeb.2.1.2libnet45Microsoft.AspNet.SignalR.SystemWeb.dll</HintPath>
        </Reference>
    
        ...
    

    希望这可以帮助某人。 它为我节省了大量的点击:)

    链接地址: http://www.djcxy.com/p/62275.html

    上一篇: Best way to add NuGet packages as project references in VS2012?

    下一篇: How do I get NuGet to install/update all the packages in the packages.config?