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

时间:2012-04-20 03:56:18

标签: visual-studio nuget

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

Can't see my packages

9 个答案:

答案 0 :(得分:403)

菜单工具选项包管理器

Enter image description here

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

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

Enter image description here

这是documentation

答案 1 :(得分:272)

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

Install-Package SomePackage -Source C:\PathToThePackageDir\

答案 2 :(得分:89)

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

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

答案 3 :(得分:42)

  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中打开,请将其关闭,然后重新打开。

  4. 现在您的软件包应该出现在浏览器中,或者可以使用Install-Package

    进行安装

答案 4 :(得分:37)

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

答案 5 :(得分:37)

对于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>

背景故事

此功能的用例是我的计算机上有多个单个代码存储库实例。代码库中有一个共享库,它作为.nupkg文件发布/部署。此方法允许整个代码库中的各种依赖解决方案在同一存储库实例中使用该包。此外,全新安装Visual Studio 2017的人可以随时查看代码,依赖解决方案将成功恢复和构建。

答案 6 :(得分:3)

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

nuget add -Source some/directory my.nupkg

然后从该目录运行dotnet restore

dotnet restore --source some/directory Project.sln

或将该目录添加为NuGet源

nuget sources Add -Name MySource -Source some/directory

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

答案 7 :(得分:1)

仅提供更新,Visual Studio 2015用户进行了一些小的更改。

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

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

enter image description here

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

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

enter image description here

答案 8 :(得分:0)

最近我想安装squirrel.windows,我尝试从https://www.nuget.org/packages/squirrel.windows/开始使用Install-Package squirrel.windows -Version 2.0.1,但是由于失败而失败。因此,我下载了squirrel.windows.2.0.1.nupkg并将其保存在D:\Downloads\中,然后可以通过Install-Package squirrel.windows -verbose -Source D:\Downloads\ -Scope CurrentUser -SkipDependencies在powershell中成功安装它。