Skip to content

'dotnet workload install' fails when %TEMP% is another drive #18516

@jonathanpeppers

Description

@jonathanpeppers

Don't know if this is related: #18450

We're seeing the error:

> D:\agent\1\s\bin\dotnet\dotnet workload install microsoft-android-sdk-full --skip-manifest-update --verbosity diag
Installing pack Microsoft.Android.Sdk version 30.0.100-preview.6.53...
Skip NuGet package signing validation. The current .NET SDK is not signed by first party.
Workload installation failed, rolling back installed packs...
Rolling back pack Microsoft.Android.Sdk installation...
Workload installation failed: Source and destination path must have identical roots. Move will not work across volumes.
install
    Install a workload.
Usage:
    dotnet [options] workload install [<WORKLOAD_ID>...]
Arguments:
    <WORKLOAD_ID>  The NuGet Package Id of the workload to install.
Options:
    --sdk-version <VERSION>                                                  The version of the SDK.
    --configfile <FILE>                                                      The NuGet configuration file to use.
    --add-source <SOURCE>                                                    Add an additional NuGet package source to use during installation.
    --skip-manifest-update                                                   Skip updating the workload manifests.
    --from-cache <from-cache>                                                Complete the operation from cache (offline).
    --download-to-cache <download-to-cache>                                  Download packages needed to install a workload to a folder which can be used for offline installation.
    --include-previews                                                       Allow prerelease workload manifests.
    --temp-dir <temp-dir>                                                    Configure the temporary directory used for this command (must be secure).
    --disable-parallel                                                       Prevent restoring multiple projects in parallel.
    --ignore-failed-sources                                                  Treat package source failures as warnings.
    --no-cache                                                               Do not cache packages and http requests.
    --interactive                                                            Allows the command to stop and wait for user input or action (for example to complete authentication).
    -v, --verbosity <d|detailed|diag|diagnostic|m|minimal|n|normal|q|quiet>  Set the MSBuild verbosity level. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].
    -?, -h, --help                                                           Show help and usage information

%TEMP% is C:\Users\XAMARI~1\AppData\Local\Temp and the current directory is D:\agent\1\s.

We started seeing this in a Maestro bump here: dotnet/maui#1443

I'll try changing %TEMP% to work around the issue in the meantime.

Metadata

Metadata

Assignees

No one assigned

    Labels

    untriagedRequest triage from a team member

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions