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

Relocate %USERPROFILE%\.dotnet and .nuget to non-OS drive dotnet core 2.0 preview

问题

能否将文件夹 %USERPROFILE%\.dotnet%USERPROFILE%\.nuget 重新定位到非 OS 驱动器(在我的例子中是 D: 驱动器)。

约束

  1. 我使用由我工作的组织提供的 VM; OS 驱动器中的 space 有限。
  2. 我们被要求将数据保存到另一个足够space并且可以扩展的驱动器。
  3. 我无法编辑系统环境变量。我只能 add/edit 用户范围/级别的环境变量。

执行的活动

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

  1. 编辑 %APPDATA%\NuGet\NuGet.config 文件并更改键值 - CliFallbackFolderglobalPackagesFolder.

    <?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>

    一个。 CliFallbackFolder 的值在下次 运行 dotnet restore

  2. 时重置为 %USERPROFILE%\.dotnet
  3. 我已经定义了 NUGET_PACKAGES 环境变量 @ 用户范围并将其值设置为非 OS 驱动器。 **仅影响 .nuget 文件夹位置 **

  4. 我已经解决了这个问题并且已经看到了(问题仍然存在)-

    一个。 https://github.com/dotnet/cli/issues/4003关于 .dotnet 文件夹的问题没有得到回应

    b。 Is it possible to change the location of packages for NuGet?关注 .nuget 文件夹而不是 .dotnet\CliNuGetFallbackFolderFallbackFolder

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

dotnet --info 输出

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

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

运行时环境: OS 姓名:Windows OS版本:6.1.7601 OS 平台:Windows 摆脱:win7-x64 基本路径:C:\Program Files\dotnet\sdk.0.0-preview2-006497\

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

dotnet nuget --version

NuGet 命令行 4.3.0.3

对于问题的第一部分 -

Can the folder %USERPROFILE%\.dotnet be relocated to non-OS drive (in my case D: drive).

答案是

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

github response on the issue

我仍然对上面列出的限制感到满意,至少在未来的版本中应该启用它是必不可少的。

仍然悬而未决的问题是

Can the folder %USERPROFILE%\.nuget be relocated to non-OS drive (in my case D: drive).

请分享建议并注意已经采取的步骤,以尝试在第一个 post 中实现目标。