An alternative might be to use Paket.
From their FAQ: "Paket tries to embrace semantic versioning while NuGet uses a pessimistic version resolution strategy." This should give you more up-to-date transitive package versions and the lock file should prevent unwanted updates. There also seem to be Plugins for VisualStudio and VSCode.