Skip to content

catch-22 regarding running dotnet restore vs. dotnet workload restore first #45447

Open
@AArnott

Description

@AArnott

Describe the bug

My CI build is broken on some agents because there seems to be a catch-22 regarding whether to run dotnet restore or dotnet workload restore first.

If I run dotnet restore first, it errors out saying "error NETSDK1147: To install these workloads, run the following command: dotnet workload restore".

If I run dotnet workload restore first, it errors out saying "The SDK 'Microsoft.Build.Traversal' specified could not be found."

Yes, I have traversal projects. And in fact the root of my restore operation is a dirs.proj.

To Reproduce

I suspect all you need is a dirs.proj that points to a project that requires android, iOS or anything else requiring a workload.
Then, on a computer that does not already have a nuget cache with Microsoft.Build.Traversal or the required workload installed, try restoring.

Further technical details

SDK Version: 9.0.100

This happens on mac, windows and linux agents. These are custom agents, BTW, so they don't have a bunch of workloads pre-installed as the Azure Pipelines Hosted agents may have.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions