-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Description
The problem
The package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation, version 3.1.22 in NuGet refers to unexisting packages:
Microsoft.AspNetCore.Mvc.Razor.Extensions, version 3.1.22Microsoft.CodeAnalysis.Razor, version 3.1.22
To Reproduce
- Inspect the package
- Follow the listed non-existant dependencies
- This takes you to the 6.0.1 versions, as the 3.1.22 versions do not exist.
Note that an attempt to install the Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation, version 3.1.22 package to any project using .NET Core 3.1 will result in a failing build, because of the bad 6.0.1 CodeAnalysis dependency.
Note
This is a repeat of the same problem with version 3.1.21 reported last month in #38172.
Fix your release process, please. This is shameful.
At the very least incorporate a correct upper bound on the package dependencies, so they cannot automatically resolve versions that go with a later framework. Right now, the dependencies only specify a lower bound:

Under no circumstance whatsoever is it acceptable that when faced with a non-existing version, you allow NuGet to skip into the latest version. Actually; someone should look into that NuGet behavior. It giving you the 'next version up' might be a rational choice - still a stupid choice, if that's a new major version which breaks semantic versioning, but rational. However, what NuGet appears to be doing when the requested dependency doesn't exist is just flat out tossing up its arms and going: "Oh whatever; latest version it is!"