Это странно.Следуя предложению @ Богдана , я изучил возможность использования файла блокировки, но, по-видимому, в nuget.exe нет параметра командной строки, чтобы его можно было использовать, вам нужно обратиться к dotnet.exe илииспользуйте цель восстановления msbuild.
Но немного поэкспериментировав, кажется, что если я использую msbuild, она все равно восстанавливает нужную / правильную версию, поэтому мне все равно не нужен файл блокировки.
Но , восстановление msbuild обрабатывает только PackageReference, и у меня есть несколько старых проектов, которые используют package.config.Таким образом, это означает, что я должен сначала выполнить восстановление nuget (которое восстанавливает packages.config, но получает неправильную версию FSharp), а затем следовать за ним с помощью восстановления msbuild (которое исправляет правильную версию FSharp - я думаю!).
Я рад, что мне платят за работу с такими вещами, но это не увеличивает мою производительность!
При этом использовались инструменты msbuild 2017, только что обновленные до 2019, и теперь msbuildделать то же самое, что и nuget: (