【问题标题】:Changing default location of NuGet package download by dotnet CLI通过 dotnet CLI 更改 NuGet 包下载的默认位置
【发布时间】:2021-09-15 10:11:13
【问题描述】:

对于 VS2019 中的 C# 控制台应用程序,我从 .NET CLI(开发人员 PowerShell)发出了以下命令:-

 dotnet add package <PackageName> --version <Version>

然后从对象浏览器中,我发现包程序集 (.dll) 已复制到以 C:\Users.nuget\packages 开头的本地路径中。但是,如果我看到我的项目定义(.csproj 文件),我只会看到包名而不是路径:-

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="<PackageName>" Version="<Version>" />
  </ItemGroup>

</Project>

Visual Studio(或 .dotnet CLI)中决定将 NuGet 包下载到哪个本地路径的设置在哪里?

【问题讨论】:

    标签: c# .net nuget


    【解决方案1】:

    这是全局 NuGet 缓存,它是可配置的(根据下面引用的文档),但您的位置是默认位置

    https://www.github.com/NuGet/docs.microsoft.com-nuget/tree/main/docs%2Fconsume-packages%2Fmanaging-the-global-packages-and-cache-folders.md

    全局包文件夹是 NuGet 安装任何下载包的位置。每个包都完全展开到与包标识符和版本号匹配的子文件夹中。使用 PackageReference 格式的项目始终直接使用此文件夹中的包。使用 packages.config 时,包会安装到 global-packages 文件夹,然后复制到项目的 packages 文件夹中。

    Windows:%userprofile%.nuget\packages

    Mac/Linux:~/.nuget/packages

    使用 NUGET_PACKAGES 环境变量、globalPackagesFolder 或 repositoryPath 配置设置(分别使用 PackageReference 和 packages.config 时)或 RestorePackagesPath MSBuild 属性(仅限 MSBuild)进行覆盖。环境变量优先于配置设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多