dotnet / dotnet/arcade

Arcade incorrectly determines NuGet cache location

Open
#14,761 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
729
Forks
397
Avg merge
3d 15m
Merged PRs (30d)
149

Description

The following line incorrectly assumes that NuGet cache location is only configured by the NUGET_PACKAGES environment variable:

https://github.com/dotnet/arcade/blob/a62b4639193b96a1a848ccddaf9fe421c3d3f21b/eng/common/tools.ps1#L645

The script further incorrectly assumes that the default cache location when NUGET_PACKAGES is not defined:

https://github.com/dotnet/arcade/blob/a62b4639193b96a1a848ccddaf9fe421c3d3f21b/eng/common/tools.ps1#L651

My machine is configured in `%APPDATA%\NuGet\NuGet.Config` to use `D:\cache\.nuget` for the cache location, and I have Windows Deny ACLs enabled on `%USERPROFILE%\.nuget` to force tools to fail if they incorrectly determine it is acceptable to write data to this location. This is causing Arcade repositories to fail to build without modifying their build scripts to correct the hard-coded locations.

Side note: I use Deny ACLs in many locations as part of validating various products and tools don't make incorrect assumptions that may not hold on end user machines (e.g. telemetry caches on disk should not be used when telemetry reporting is disabled), so this is standard practice and severely impairs my workflow until fixed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.