Open nkolev92 opened 4 years ago
I think we investigated this weeks ago. What we found at the time:
Which is used here:
which calls a special ExecuteRestore
method that sets additional flags:
@nkolev92 should we close this, or is there something we want to act on?
I think the actionable is the one from: https://github.com/NuGet/Home/issues/7576, where NuGet.exe behaves differelty from dotnet/msbuild restores.
So either making it consistent or documenting it.
Set-up a project with a missing import.
Try restoring:
dotnet restore
msbuild restore
Define a restore2 target with the exact same content as the restore target. `
nuget.exe restore
This is inconsistent because of https://github.com/microsoft/msbuild/blob/8d37fbb97003e96516a2054e51dd5fabfd720ed6/src/MSBuild/XMake.cs#L1356.
The restore target is special cased.
Ideally all of the NuGet tooling is consistent.
The argument for ignoring missing imports is summarized in https://github.com/microsoft/msbuild/pull/3278.
On the flip side, what if the imports in question might actually be genuinely missing cause of a setup issue. They might need to bring in a PackageReference themselves.
Regardless of what the decision is, all NuGet tooling should be consistent.
Related https://github.com/NuGet/Home/issues/7576
fyi @jeffkl @zivkan
Thoughts @NuGet/nuget-client?