将 %USERPROFILE%\.dotnet 和 .nuget 重新定位到非操作系统驱动器 dotnet core 2.0 预览版

问题描述 投票:0回答:2

问题

文件夹

%USERPROFILE%\.dotnet
%USERPROFILE%\.nuget
可以重新定位到非操作系统驱动器(在我的例子中是D:驱动器)。

限制

  1. 我使用由我工作的组织配置的虚拟机;操作系统驱动器空间有限。
  2. 我们被要求将数据保存到具有足够空间且可以扩展的不同驱动器。
  3. 我无法编辑系统环境变量。我只能在用户范围/级别添加/编辑环境变量。

进行的活动

我已经徒劳地尝试了以下建议 -

  1. 编辑

    %APPDATA%\NuGet\NuGet.config
    文件并更改键 -
    CliFallbackFolder
    globalPackagesFolder
    的值。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
        <add key="globalPackagesFolder" value="D:\nuget\packages" /> 
        <add key="CliFallbackFolder" value="D:\dotnet\NuGetFallbackFolder" /> 
      </packageSources>
    </configuration>

    a.下次运行 dotnet Restore 时,

    CliFallbackFolder
    的值将重置为
    %USERPROFILE%\.dotnet

  2. 我已经定义了

    NUGET_PACKAGES
    环境变量@用户范围并将其值设置为非操作系统驱动器。 **仅影响 .nuget 文件夹位置 **

  3. 我回答了这个问题并且已经看到了(问题仍然存在)-

    a. https://github.com/dotnet/cli/issues/4003关于.dotnet文件夹的问题未得到答复

    b. 是否可以更改 NuGet 包的位置?重点关注 .nuget 文件夹,而不是 .dotnet\CliNuGetFallbackFolderFallbackFolder

  4. 在github上提出了一个问题。我意识到我在代码分支的预览 3 中提出问题时犯了一个错误。 我还意识到这不仅仅是一个问题,因此将问题发布在这里。 (https://github.com/dotnet/cli/issues/7256

dotnet --信息输出

.NET 命令行工具 (2.0.0-preview2-006497)

产品信息: 版本:2.0.0-preview2-006497 提交 SHA-1 哈希:06a2093335

运行环境: 操作系统名称:Windows 操作系统版本:6.1.7601 操作系统平台:Windows 破解:win7-x64 基本路径:C:\Program Files\dotnet\sdk .0.0-preview2-006497\

Microsoft .NET Core 共享框架主机 版本:2.0.0-preview2-25407-01 内部版本:40c565230930ead58a50719c0ec799df77bddee9

dotnet nuget --版本

NuGet 命令行 4.3.0.3

nuget .net-core dotnet-restore
2个回答
1
投票

对于问题的第一部分 -

文件夹

%USERPROFILE%\.dotnet
可以重新定位到非操作系统驱动器(在我的例子中是D:驱动器)。

答案是

从 dotnet core 2.0.0-preview2-006497 开始,这是不可能的。有问题的文件夹是 SDK 的一部分,预计位于

%USERPROFILE%
目录中。

github 对此问题的回应

我仍然觉得上面列出的限制,至少在未来的版本中应该启用它是至关重要的。

仍然悬而未决的问题是

文件夹

%USERPROFILE%\.nuget
可以重新定位到非操作系统驱动器(在我的例子中是D:驱动器)。

请分享建议,并注意为实现第一篇文章中的目标而已采取的步骤。


0
投票

TL;博士

是的,可以将

.nuget
文件夹重新定位到 %userprofile% 文件夹之外的位置。您需要做的就是将系统环境变量中的
NUGET_PACKAGES
设置为您想要存储全局NuGet包的路径。

就我而言,我使用的是带有开发驱动器设置的 Windows 11(尽管路径不必位于开发驱动器上)。我将

NUGET_PACKAGES
环境变量设置为
D:\packages\NuGet
并将 .nuget 文件夹的所有内容移入其中。

PS:进行这些更改后,不要忘记重新启动 IDE。

有关更多信息:https://learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders

© www.soinside.com 2019 - 2024. All rights reserved.