NuGet 问题:无法让(新生成的)空 AspNetCore 应用程序继续工作

NuGet problems: can't get (newly generated) empty AspNetCore app to work anymore

我无法再安装 VS2019 来创建空的 aspnetcore 项目。前几天还好好的,不知道是什么问题。我已经搜索了几个小时,找不到解决方案。

这是目前的情况:当我让 VS2019 创建一个空的 aspnetcore 项目时,这是我的解决方案资源管理器的样子:

如您所见,没有下载或加载 nuget 包。

当我右键单击解决方案并 select 'restore nuget packages' 时,这是我在 'Package Manager' 输出中发现的:

All packages are already installed and there is nothing to restore. Time Elapsed: 00:00:00.2193440 ========== Finished ==========

Error occurred while restoring NuGet packages: An error occurred while retrieving package metadata for 'Microsoft.AspNetCore.Mvc.DataAnnotations.2.2.0' from source 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'.

运行 nuget locals -clear all 没有帮助。 我尝试修复 .net core 2.2 sdk 安装,没有帮助。

我不确定如何继续或接下来要尝试什么。

有什么想法吗?


编辑 2019-04-28:

它在VS2017中也被破坏了。当我创建一个全新的空aspnetcore 2.1项目时(上面的截图是2.2),我得到类似的错误:

尝试恢复 NuGet 包给出:

Error occurred while restoring NuGet packages: An error occurred while retrieving package metadata for 'Microsoft.IdentityModel.Protocols.OpenIdConnect.5.2.0' from source 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'.

有些东西严重损坏,但我似乎无法弄清楚...:(

找到问题的根源:

C:\Program Files\dotnet\sdk\NuGetFallbackFolder 中的某些 .nuspec 文件无效。它们不包含有效的 xml,而是几千字节的二进制 0x00 数据。

不知道为什么会这样。

将过滤器重命名为 'xxxNuGetFallbackFolder' 似乎暂时解决了我的问题,我现在可以再次创建新的 aspnetcore 项目。


对于有类似问题的人:这就是我找到根源的方式: