dotnet / dotnet/msbuild

Conditional configuration of restore settings used by NuGet SDK resolver

Open
#2,914 2 comments 6 reactions 0 assignees View on GitHub
triaged
Dominant language
C#
Stars
5.5k
Forks
1.5k
Avg merge
1d 13h
Merged PRs (30d)
133

Description

Follow up to https://github.com/Microsoft/msbuild/issues/2803

The NuGet SDK resolver currently only supports using NuGet.config for restore settings. NuGet.config is not expressive enough to allow conditionally changing settings, and there are currently [no plans to change that](https://github.com/NuGet/Home/issues/3972). Instead, users are instructed to use `/target:Restore` and [MSBuild properties](https://docs.microsoft.com/en-us/nuget/schema/msbuild-targets#restore-target) to conditionally configure restore settings. However, these properties are not available during the SDK resolution phase, so they cannot be used to control the restore used by the NuGet SDK resolver.

It would be great to provide ways to control restore settings in way that is consistent between the NuGet SDK resolver and `/t:Restore`.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the NuGet SDK resolver entry points and the /t:Restore restore-target documentation mentioned in the issue. Determine how restore settings are supplied during SDK resolution and how they are conditionally supplied by MSBuild; done means both paths support consistent conditional restore configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.