540

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

看不到我的包裹

4

10 回答 10

538

Menu ToolsOptionsPackage Manager

Enter image description here

Give a name and folder location. Click OK. Drop your NuGet package files in that folder.

Go to your Project in Solution Explorer, right click and select "Manage NuGet Packages". Select your new package source.

Enter image description here

Here is the documentation.

于 2012-04-20T04:13:41.327 回答
350

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

Install-Package SomePackage -Source C:\PathToThePackageDir\
于 2013-01-30T10:07:10.827 回答
160

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

Install-Package C:\Path\To\Some\File.nupkg
于 2016-03-02T17:19:15.697 回答
90

对于 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 的人可以在任何他们想要的地方签出代码,相关解决方案将成功恢复和构建。

于 2018-01-31T18:23:21.253 回答
57
  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 中打开,请将其关闭,然后重新打开。

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

于 2016-07-29T16:43:44.853 回答
54

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

于 2014-01-15T19:07:24.017 回答
16

只是为了提供更新,Visual Studio 2015 用户有一些细微的变化。

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

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

在此处输入图像描述

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

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

在此处输入图像描述

于 2019-03-14T16:21:42.733 回答
13

在 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=MySourceor /p:RestoreSources=MySource。第二个开关将禁用所有其他来源,例如,这对于离线场景很有用。

于 2019-08-05T17:47:17.617 回答
2

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

于 2020-10-14T15:38:12.880 回答
1
  1. 使用以下 3 个选项之一打包您的库:
  • Visual Studio(csproj > 属性 > 包 > 勾选“在构建时生成 NuGet 包”。然后构建解决方案)
  • dotnet CLI(在项目文件夹中的命令提示符中:dotnet build,然后是dotnet pack命令)
  • NuGet CLI(在项目文件夹的命令提示符中:dotnet build,然后是nuget pack命令)
  1. 使用命令将生成的包(在项目文件夹 bin > Debug(或 Release)>*.nupkg文件中)添加到离线提要(VS2019 中的默认位置是C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\nuget add
  2. 在 VS 中,管理 NuGet 包 > 右上角:将包源更改为Microsoft Visual Studio Online Packages.

详细说明可以在这里 或在yt上找到

于 2021-05-23T14:52:47.737 回答