【问题标题】:Change NuGet package folders used by Visual Studio 2017更改 Visual Studio 2017 使用的 NuGet 包文件夹
【发布时间】:2017-09-18 09:44:49
【问题描述】:

任何基于csproj 或project.json 的.NET Core 项目中都没有packages 解决方案文件夹。

NuGet CLI 获取使用的缓存文件夹列表:

nuget locals all -list

回复:

http-cache: C:\Users\<foo>\AppData\Local\NuGet\v3-cache
global-packages:  C:\Users\<foo>\.nuget\packages\
temp: C:\Users\<foo>\AppData\Local\Temp\NuGetScratch

如何更改或覆盖这些位置?

【问题讨论】:

    标签: nuget .net-core visual-studio-2017


    【解决方案1】:

    缓存位置

    .NET Core 和 Visual Studio 2017 不再存在解决方案本地包文件夹。

    NuGet is now fully integrated into MSBuild:

    解决方案本地包文件夹不再使用 - 包现在 针对 %userdata%.nuget 处的用户缓存进行解析,而不是 解决方案特定的包文件夹。这使得 PackageReference 执行 使用共享文件夹更快,消耗更少的磁盘空间 工作站上的软件包。

    NuGet 4.0+ 使用至少两个全局包位置:

    • 用户特定:%userprofile%\.nuget\packages\
    • 机器范围:%ProgramFiles(x86)%\Microsoft SDKs\NuGetPackages\"

    您可以使用以下控制台命令列出所有用户特定的文件夹:

    nuget locals all -list
    

    请注意,机器范围的文件夹未在此处列出。但是,它是在 Visual Studio 设置中定义的:

    Options -> NuGet Package Manager -> Package Sources
    

    配置文件

    NuGet.config 文件are located here:

    • 用户特定:%APPDATA%\NuGet\
    • 机器范围:%ProgramFiles(x86)%\NuGet\Config\

    可以在多个级别更改和覆盖 NuGet 设置:

    • 项目
    • 解决方案
    • 用户
    • 机器

    还有更多!在此处阅读有关NuGet.config 分层优先级排序的更多信息:How settings are applied。

    例如,globalPackagesFolder 参数更改包缓存位置。看看这个NuGet.config 例子:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <config>
        <clear />
        <add key="globalPackagesFolder" value="c:\packages" />
      </config>
    </configuration>
    

    【讨论】:

      【解决方案2】:

      来自MS docs:

      全局包

      • Windows:%userprofile%\.nuget\packages
      • Mac/Linux:~/.nuget/packages

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

      【讨论】:

      • 您的 Windows 路由中存在格式错误。
      • Tnx,已修复,需要双反斜杠
      【解决方案3】:

      将 .nuget 文件夹 (c:\users{username}.nuget) 从具有 Internet 连接和更新包的开发 PC 复制到没有 Internet 连接的 PC 也适用于我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-12
        相关资源
        最近更新 更多