Arcade incorrectly determines NuGet cache location
- 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
Assessment
This issue has not been assessed yet.