Best way to add NuGet packages as project references in VS2012?

Ok. Really quick question, I'm probably just being thick.

If you right-click on a projects 'references' folder then 'Manage NuGet Packages' you can then install packages and they are automatically referenced by the project you clicked on. But then I want to add the same reference to other projects in the same solution. If you repeat previous but click on another project the only option is to uninstall the package (since it's already installed), what is the proper way to add an existing (already installed) NuGet package as a project reference? Am I to add the reference using the normal dialog and 'browse' to the dll in the packages folder? Use one method to add the first reference then another for subsequent references? That doesn't seem right.


You can use Manage NuGet packages for Solution... by:

  • right-clicking on solution
  • Tools > Library Package Manager > Manage NuGet packages for Solution
  • Then you can choose in which projects install package as on screenshot below: 在这里输入图像描述 Additionally you can add installed package to another projects in solution using the same Manage NuGet packages for Solution... . 在这里输入图像描述


    The other answer here didn't help me. Here's what I did, I don't know any other way to do it. I'm using VS 2013.

  • I installed the package in the Package Manager Console, eg PM> Install-Package Newtonsoft.Json
  • In the Solution Explorer, right click references, select Add Reference
  • Click Browse, and navigate to the dll in the packages directory under the folder of the solution.
  • This adds a relative path for the reference to the project, so it should work with other people getting the code from source control into different directories.


    I had the same issue. The solution posted by kristianp has worked as expected, it can be a bit cumbersome however, when dealing with lots of packages. The solution, that worked for me was just to edit the myProjectName.csproj file in the notepad, and just to copy-paste references from another project like so:

    ...
    
    <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>
    
        ...
    

    Hope this helps someone. It saved me a lot of clicking :)

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

    上一篇: 此项目引用此计算机上缺少的NuGet程序包

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