[release/5.0.2xx] Update dependencies from nuget/nuget.client#14433
Conversation
…5.9.0.6955 NuGet.Build.Tasks From Version 5.8.0-rc.6930 -> To Version 5.9.0-preview.1.6955
| <!-- Begin: Package sources from dotnet-msbuild --> | ||
| <!-- End: Package sources from dotnet-msbuild --> | ||
| <!-- Begin: Package sources from dotnet-roslyn-analyzers --> | ||
| <!-- End: Package sources from dotnet-roslyn-analyzers --> |
There was a problem hiding this comment.
@mmitche I'm assuming we shouldn't be getting these duplicated comments here?
There was a problem hiding this comment.
Nope. @MattGal Any idea why the comments are getting duplicated?
There was a problem hiding this comment.
I definitely caused this, will address via https://github.com/dotnet/core-eng/issues/11362
|
It looks like tests are failing because a new nuget error is being thrown before we get to the existing SDK error, which I assume is expected.
|
|
Hm. Looks like the SDK is running into a new NuGet error code before it actually gets to test the thing it's trying to test. I'm trying to figure out whether I think this is something that should just be updated in the tests themselves, or whether it's NuGet being too aggressive with this error. Maybe @zivkan or @nkolev92 have thoughts on this? I think if it's the former, the SDK will need to probably just change the |
|
When is the SDK error raised? |
|
@nkolev92 this error gets raised at both restore AND pack time, in various scenarios. I'm pretty sure these specific test failures are hitting the restore scenario, though. See https://github.com/dotnet/sdk/blob/master/src/Tests/Microsoft.NET.Build.Tests/GivenThatWeWantToBuildWithATargetPlatform.cs#L88-L106 for example. |
|
@zkat That's the NuGet error, I was asking where the SDK was raising it's own error. If it's at evaluation time, then something weird is happening. |
|
@sfoslund do you have any thoughts on whether this is something that should just get fixed on the SDK side? |
|
I think the existing SDK error is more clear for the user, so I would prefer to keep that one. @wli3 and @dsplaisted do you have an opinion? |
|
I find msbuild's execution order very difficult to remember, but from memory when a target "a" runs, the order is:
Unfortunately, NuGet doesn't provide Therefore, would it work if the SDK changed where it generates its error to a target that uses I think this has to be the way we fix it. If NuGet tries to restore without a platform version, we will assume version 0.0, let's say net5.0-windows0.0. If the project has a package reference to a package with net5.0-windows7.0 assets, restore will fail because the windows 7.0 assets will not be compatible with windows 0.0, since it's a lower version, and the customer will get an error message saying the package is not compatible with the project. Similarly, a project targeting net5.0-windows0.0 with a project reference to a project targeting net5.0-windows7.0 will also cause NuGet problems. Therefore, NuGet removing this restore time error will give customers a more confusing error message when the scenario is hit. It's only when the project doesn't have any package or project references to something that correctly uses platforms, that restore will succeed, allowing the SDK to report its current error message. |
None of this works in VS :) If the SDK is the one raising an error then it'd need to happen at evaluation time. |
|
What about the situation in NuGet/Home#10195, where you have What we want is for you to get an error message telling you that you need to install the iOS and Android workloads. We don't want the NuGet restore failure to that the version numbers are 0.0 to pre-empt the message that tells you to install the workloads. Maybe it would be sufficient to run the |
…nces See discussion in #14433
This pull request updates the following dependencies
From https://github.com/NuGet/NuGet.Client