2012-04-20 211 views

回答

317

菜单工具选项软件包管理器

Enter image description here

给一个名称和文件夹位置。点击确定。将您的NuGet包文件放在该文件夹中。

转到您的项目,右键单击并选择“管理NuGet包”并选择您的新包源。

Enter image description here

这里是documentation

+14

其实,我已经做了几次第1步。但是当我打开查看已安装的软件包,更新或最近的软件包时,我的软件包未显示在步骤2中。 – Tom 2012-04-20 04:20:09

+2

在我的屏幕上,我只有“已安装的软件包”下的“All”而不是“NuGet官方软件包源”,而不是我自定义的“newNuget”,他们缺失。 – Tom 2012-04-20 04:22:37

+0

您正在使用哪个版本的VS?你有更新版本的nuget吗? – Shyju 2012-04-20 04:23:40

230

您也可以使用Package Manager Console,并通过指定的路径包含在-Source参数包文件的目录调用Install-Package的cmdlet:

Install-Package SomePackage -Source C:\PathToThePackageDir\ 
+2

我可以做一些类似的命令行工具吗? – 2013-10-09 13:11:08

+4

是的。 '-Source'选项也可以在[nuget.exe](http://docs.nuget.org/docs/reference/command-line-reference)中找到。例如:'nuget install SomePackage -Source C:\ PathToThePackageDir' – 2013-10-09 13:29:00

+1

有点快,对不起。我想要的是另一种方式。我很乐意使用nuget命令行将dll安装到cms站点上的bin文件夹中。但我发现网上阅读,它不能安装,只能拉下dll。 – 2013-10-09 13:30:38

21

如果你有一个.nupkg文件,只是需要.dll文件,你所要做的就是将扩展名改为.zip并找到lib目录。

+2

如果您将其作为zip文件处理,则文件名中具有空格的文件将使用%(取代空格)进行提取。为了避免使用NuGet进行安装。 – Rahatur 2016-04-09 06:10:31

+0

其实,你甚至不需要重命名扩展名。只需右键单击该文件,然后选择打开方式,然后找到一个可以打开.zip文件的应用程序,并打开.nupkg文件,然后可以将所需的dll文件提取到指定的文件夹中。 – jyao 2017-12-15 19:07:21

52

对于.nupkg文件,我喜欢用:

Install-Package C:\Path\To\Some\File.nupkg 
+1

只有工作。如果目录的路径包含空格,请将其包含在双引号中。 – 2017-08-25 13:21:09

+1

同意。值得一提的是,只有绝对路径可以工作。 – 2017-10-25 05:46:49

+0

对于2017年不适用,请参见f.ex.回答@格兰杰。 – RenniePet 2018-03-04 23:46:59

24
  1. 文件名为LocalPackages添加到文件夹在你旁边溶液(它没有要调用的,但调整的XML接下来的步骤相应)
  2. 创建一个名为NuGet.config旁边的解决方案文件与文件,内容如下

    <?xml version="1.0" encoding="utf-8"?> 
        <configuration> 
        <packageSources> 
         <add key="LocalPackages" value="./LocalPackages" /> 
        </packageSources> 
        <activePackageSource> 
         <!-- this tells that all of them are active --> 
         <add key="All" value="(Aggregate source)" /> 
        </activePackageSource> 
    </configuration> 
    
  3. 如果解决方案在Visual Studio中打开,请关闭它,然后重新打开它。现在

你的软件包应该出现在浏览器,或使用安装,包装

+0

谢谢!有用! – 2017-08-23 06:14:14

6

对于Visual Studio 2017年安装的,它是新的.csproj格式

可以不再仅仅是使用安装,包指向一个本地文件。 (这可能是因为PackageReference元素不支持文件路径;它只允许你指定包的ID)

你首先必须告诉VS你的包的位置,然后你可以将它添加到项目中。大多数人做的是进入NuGet包管理器,并添加本地文件夹作为源(工具>>选项>> NuGet包管理器>>包源代码)。但是这意味着你的依赖的位置不会被提交(对版本控制)与你的代码库的其余部分。

使用相对路径

本地的NuGet包这将增加只适用于特定的解决方案包的源,你可以使用相对路径。

您需要做的是在与.sln文件相同的目录中创建一个nuget.config文件。使用所需的软件包源配置文件。当您下次在VS2017中打开该解决方案时,这些源文件夹中的任何.nupkg文件都将可用。 (您将看到包管理器中列出的源代码,当您管理项目的包时,您会在“浏览”选项卡上找到包)。你开始:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
     <add key="MyLocalSharedSource" value="..\..\..\some\folder" /> 
    </packageSources> 
</configuration> 

背景故事

我的使用情况下此功能是,我有我的机器上的单个代码库的多个实例。代码库中有一个共享库,作为.nupkg文件发布/部署。这种方法允许遍及我们的代码库的各种相关解决方案在相同的回购实例中使用该包。另外,有一些全新安装的VS2017可以在任何他们想要的地方签出代码,并且依赖的解决方案将成功恢复和构建。