Skip to content

Cross-Client no-op for legacy package reference #5444

@nkolev92

Description

@nkolev92

The secondary target of this feature is to unify the restore behavior among all our clients.
One can restore with NuGet.exe, open VS, and then auto-restore no-ops. When that, the user can build use msbuild /t:restore and that would no-op as well.

At this point that's not the case.
The dg spec generated for msbuild/nuget.exe/dotnet.exe case is not the same as the one generated by VS. Some of those inconsistencies have been resolved, while others haven't.

Here's a table of the presumed behavior (meaning, as far as we know, there might be some crazy scenarios in which this breaks, and when encountered, we'll want to fix them.

Project Model NuGet.Exe & VS Client NuGet.exe & dotnet.exe NuGet.exe & MsBuild VS Client & dotnet.exe VS Client & MsBuild MsBuild & dotnet.exe
.NET Core - SDK based projects Consistent Consistent. Consistent. Consistent. Consistent. Consistent.
Legacy Package Reference projects Inconsistent. Consistent. Consistent. Inconsistent. Consistent. Inconsistent.
Project.Json Inconsistent Consistent. Consistent. Inconsistent. Inconsistent. Consistent.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions