nuget/used 通过构建恢复了错误的网络标准库版本

Wrong net-standard library version is restored by nuget/used by build

我有一个解决方案,其中项目引用 netcoreapp2.1、netstandard 2.0、net472 作为目标框架。

有些有

    <TargetFrameworks>netstandard2.0;net472</TargetFrameworks>

其他人有

    <TargetFrameworks>netstandard2.0</TargetFrameworks>

其他人有

    <TargetFrameworks>netcoreapp2.1</TargetFrameworks>

在我因为不相关的问题删除了 Nugetfallback 文件夹后,我的构建突然失败,并出现数百个关于 netstandard 库 类 的错误不再被发现,例如

C:\Windows\system32\config\systemprofile\.nuget\packages\netstandard.library.0.3\build\netstandard2.0\ref\System.Net.WebSockets.dll' could not be found.

我的构建基本上可以归结为:

nuget.exe locals all -clear
nuget.exe restore {MY_SOLUTION}
msbuild /restore {MY_SOLUTION}

查看 nuget/packages 文件夹,我可以看到 netstandard 库在 nuget 恢复后存在,但在 ...\netstandard.library.0.0\ 文件夹,而不是在 ...\netstandard.library.0.3\

我试过了

但这并没有帮助。

Visual Studio 中的解决方案资源管理器向我展示了在解决方案中只有对 netstandard 2.0.3 的依赖性,none 对 2.0.0

所有相关 packages.config 文件显示

<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />

为什么 nuget 检索到的 netstandard.library 版本错误(2.0.0 而不是 2.0.3)。 在我的解决方案中,我可以在哪里 configure/change 这个?这可能是因为其他库的依赖版本错误吗?

谢谢!

重新安装 nuget 并安装更新版本的 dotnet SDK 有所帮助。不知道是什么原因造成的。