如何在本地安装NuGet包.nupkg文件?

Tom*_*Tom 411 visual-studio nuget

我有一些来自C#书的.nupkg文件.我该如何安装它们?

看不到我的包裹

Shy*_*yju 434

菜单工具选项包管理器

在此输入图像描述

提供名称和文件夹位置.单击确定.将NuGet包文件放在该文件夹中.

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

在此输入图像描述

这是文档.

  • 实际上,我已经完成了第几步.但是当我打开以查看已安装的软件包,更新或最近的软件包时,我的软件包没有显示在第2步中. (21认同)
  • 在我的屏幕上,我在"已安装的软件包"下只有"全部",而不是"NuGet官方软件包源",而不是我的自定义"newNuget",它们缺失. (2认同)
  • 问题已解决.我从windows中卸载了nuget - >控制面板.它不是这样的.我需要启动VS并进入Tools-> Extension Manager ...然后从那里点击卸载nuget.重启VS. 然后再去安装nuget,它工作了.现在,本地nupkg文件也出现了(编辑:它们在Online选项卡中,而不是Installed选项卡,我发布的图片中的错误).谢谢您的帮助 :) (2认同)
  • 不要忘记从齿轮图标附近的右侧更改包源。您的包将显示您在上一个窗口中指定的名称。谢谢 (2认同)

Enr*_*lio 291

您还可以使用程序包管理器控制台Install-Package通过在-Source参数中指定包含程序包文件的目录的路径来调用cmdlet :

Install-Package SomePackage -Source C:\PathToThePackageDir\
Run Code Online (Sandbox Code Playgroud)

  • 您可能还需要指定-IncludePrerelease标志.否则,如果软件包版本具有破折号后缀(例如"-beta1"),则Install-Package将无法找到它. (13认同)
  • 这是一个比接受的更直接的答案.谢谢(你的)信息! (9认同)
  • 是.`-Source`选项也可以在[nuget.exe](http://docs.nuget.org/docs/reference/command-line-reference)中找到.例如:`nuget install SomePackage -Source C:\ PathToThePackageDir` (5认同)
  • 我可以使用命令行工具做同样的事情吗? (2认同)
  • 不适用于VS 2017,请参阅f.ex. 由@Granger回答. (2认同)

Fel*_*ala 111

对于我喜欢使用的.nupkg文件:

Install-Package C:\Path\To\Some\File.nupkg
Run Code Online (Sandbox Code Playgroud)

  • 唯一有用的东西.如果目录的路径包含空格,请将其包含在双引号中. (6认同)
  • 不适用于VS 2017,请参阅f.ex. 由@Granger回答. (5认同)
  • 同意.值得一提的是,只有绝对路径才有效 (4认同)
  • @RenniePet 在 VS2017 中为我工作(但我已经将我的 `.nupkg` 放在同一个目录下,所有其他包都被存储) (2认同)
  • 它对我不起作用,我使用的是 VS2013 版本 12.0.21..5 和 Nuget 包管理器 2.12.0.817 :( (2认同)
  • 也许有人需要指出这是一个PowerShell命令。@恩里科 (2认同)

Gra*_*ger 46

对于Visual Studio 2017及其新的.csproj格式

您不能再使用Install-Package指向本地文件.(这可能是因为该PackageReference元素不支持文件路径;它只允许您指定包的ID.)

首先,您必须告诉Visual Studio有关包的位置,然后您可以将其添加到项目中.大多数人做的是进入NuGet包管理器并添加本地文件夹作为源(菜单工具选项NuGet包管理器包源).但这意味着您的依赖项的位置未与代码库的其余部分一起提交(版本控制).

使用相对路径的本地NuGet包

这将添加仅适用于特定解决方案的包源,并且您可以使用相对路径.

您需要nuget.config在与文件相同的目录中创建.sln文件.使用所需的包源配置文件.当您下次在Visual Studio 2017中打开解决方案时,这些源文件夹中的任何.nupkg文件都将可用.(您将看到包管理器中列出的源,当您管理项目包时,您将在"浏览"选项卡上找到包.)

这是一个nuget.config让你入门的例子:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="MyLocalSharedSource" value="..\..\..\some\folder" />
    </packageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)

背景故事

我的这个功能的用例是我的机器上有多个单个代码存储库实例.代码库中有一个共享库,它作为.nupkg文件发布/部署.此方法允许整个代码库中的各种依赖解决方案在同一存储库实例中使用该包.此外,全新安装Visual Studio 2017的人只需在任何他们想要的地方签出代码,依赖解决方案就能成功恢复和构建.


Sam*_*ack 45

  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>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 如果解决方案在Visual Studio中打开,请将其关闭,然后重新打开它.

现在您的包应该出现在浏览器中,或者可以使用Install-Package进行安装


Mar*_*ian 42

如果您有.nupkg文件并且只需要.dll文件,您只需将扩展名更改为.zip并找到lib目录.

  • 如果将其视为zip文件,则将使用%(替换空格)提取文件名中包含空格的文件.使用NuGet避免此安装. (3认同)
  • 实际上,您甚至不需要重命名扩展名。只需右键单击该文件,然后选择“打开方式”,然后找到可以打开.zip文件的应用程序,然后即可打开.nupkg文件,然后可以将所需的dll文件提取到指定的文件夹中。 (2认同)
  • 我需要的最佳解决方案 (2认同)

Wil*_* Jr 15

只是为了提供更新,Visual Studio 2015 用户有一些小的更改。

要手动使用或安装包,请转到工具->选项-> NuGet 包管理器->包源

单击添加按钮,选择源,不要忘记单击“更新”,因为它会更新包的文件夹位置,如果需要,请编辑所需的包源名称:

在此处输入图片说明

要选择添加的包,请右键单击您的解决方案并选择“管理 Nuget 包

下拉列表位于右侧,然后选择浏览以浏览您在文件夹源中指定的包。如果该文件夹源上没有 nuget 包,则为空:

在此处输入图片说明


use*_*610 12

在 Linux 上,使用 NuGet CLI,命令是相似的。要安装 my.nupkg,请运行

nuget add -Source some/directory my.nupkg
Run Code Online (Sandbox Code Playgroud)

然后dotnet restore从该目录运行

dotnet restore --source some/directory Project.sln
Run Code Online (Sandbox Code Playgroud)

或将该目录添加为 NuGet 源

nuget sources Add -Name MySource -Source some/directory
Run Code Online (Sandbox Code Playgroud)

然后告诉msbuild使用该目录与/p:RestoreAdditionalSources=MySource/p:RestoreSources=MySource。例如,第二个开关将禁用所有其他来源,这对离线场景很有用。


Don*_*Liu 5

最近我想安装squirrel.windows,我尝试Install-Package squirrel.windows -Version 2.0.1https://www.nuget.org/packages/squirrel.windows/,但它失败并出现一些错误。所以我下载squirrel.windows.2.0.1.nupkg并保存它,然后我可以通过powershellD:\Downloads\安装成功。Install-Package squirrel.windows -verbose -Source D:\Downloads\ -Scope CurrentUser -SkipDependencies