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

我有一些c#书中的。nupkg文件。我如何安装它们?

Can't see my packages

824231 次浏览

菜单工具选项包管理器

Enter image description here

给出名称和文件夹位置。单击OK。将您的NuGet包文件放在该文件夹中。

转到解决方案资源管理器中的项目,右键单击并选择“管理NuGet包”;。选择新的包源。

Enter image description here

这是文档

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

Install-Package SomePackage -Source C:\PathToThePackageDir\

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

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

Install-Package C:\Path\To\Some\File.nupkg
  1. 将文件添加到解决方案旁边的名为LocalPackages的文件夹中(不一定要这样称呼,但是在接下来的步骤中相应地调整xml)
  2. 创建一个名为NuGet的文件。在解决方案文件旁边配置以下内容

    <?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. If the solution is open in Visual Studio, close it, then re-open it.

Now your packages should appear in the browser, or be installable using Install-Package

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

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

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

使用相对路径的本地NuGet包

这将添加一个只适用于特定解决方案的包源,您可以使用相对路径。

您需要在与.sln文件相同的目录中创建nuget.config文件。将文件配置为所需的包源。当您下次在visual studio 2017中打开解决方案时,这些源文件夹中的任何. nuupkg文件都将可用。(您将在Package Manager中看到列出的源代码,当您管理项目的包时,您将在“Browse”选项卡上找到包。)

这里有一个nuget.config的例子来让你开始:

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

基本信息

我使用此功能的用例是,在我的机器上有单个代码存储库的多个实例。代码库中有一个共享库,作为.nupkg文件发布/部署。这种方法允许贯穿代码库的各种相关解决方案在同一个存储库实例中使用包。另外,重新安装visual studio2017的用户可以在任何他们想要的地方签出代码,相关的解决方案将成功地恢复和构建。

只是给一个更新,Visual Studio 2015用户有一些小的变化。

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

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

enter image description here

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

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

enter image description here

在Linux上,使用NuGet CLI,命令是类似的。安装我的。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一起使用该目录。第二个开关将禁用所有其他源,例如,这适用于脱机场景。

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

  1. 使用以下3个选项之一打包你的库:
  • Visual Studio (csproj >性能比;包比;勾选“在构建时生成NuGet包”。然后构建解决方案)
  • dotnet命令行(在项目文件夹的命令提示符中:dotnet build,然后dotnet pack命令)
  • NuGet命令行(在项目文件夹的命令提示符中:dotnet build,然后nuget pack命令)
  1. 添加生成的包(在项目文件夹bin >调试(或发布)>*.nupkg文件)到离线提要(VS2019中的默认位置是C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\)使用nuget add命令
  2. 在VS中,管理NuGet包右上:将Package source更改为Microsoft Visual Studio Online Packages

详细说明可以在在这里欧美上找到