【问题标题】:The current .NET SDK does not support targeting .NET Standard 2.0 error in Visual Studio 2017 update 15.9.3, .NET Core 2.2.1 SDK installed当前的 .NET SDK 不支持在 Visual Studio 2017 更新 15.9.3 中定位 .NET Standard 2.0 错误,安装了 .NET Core 2.2.1 SDK
【发布时间】:2018-12-10 15:32:34
【问题描述】:

似乎在全新安装后我无法执行任何基于 .NET 标准 2.0 的项目。

我使用的是 .NET Framework 4.7.2、VS 2017 - 15.9.3 和 .NET Core 2.2.1 的最新版本

我已经安装了 x64/x86 版本的 .NET 2.2 SDK

附上我的设置信息,

编辑: 打开其中包含 .NET Standard 2.0 项目的解决方案时出现实际错误

The current .NET SDK does not support targeting .NET Standard 2.0.  Either target .NET Standard 1.6 or lower, or use a version of the .NET SDK that supports .NET Standard 2.0. 
Microsoft.Extensions.HealthChecks.SqlServer 
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets    126 

EDIT2 似乎我的问题让回答的人感到困惑,我的具体问题与我的机器上缺少 .NET Standard 2.0 的方式有关,与项目抛出的错误无关(由于缺少框架而抛出错误)

我将发布一个关于此的新问题,因为这将重点放在我的解决方案中的特定项目与实际错误之间。

编辑 3 更专注于实际问题的问题 Missing .NET Standard 2.0 Framework with latest .NET Core SDK 2.2.1, .NET Framework 4.7.2, VS2017 15.9.3

关闭这个

【问题讨论】:

  • 你能通过命令行构建吗? dotnet build {pathtocsproj} ?
  • 错误是由 non-Microsoft 扩展引发的,带有伪造的 Microsoft 前缀
  • 关闭这个,见edit3
  • @Panagiotis Kanavos:不,不是。与它无关。由于硬件故障,我现在还不得不重新安装计算机。我之前的安装没有任何问题,VS很久以前安装的,一直在升级。 但是如果你现在安装一个VS,用当前的安装程序,就没有Standard 2.0了。

标签: .net visual-studio asp.net-core .net-core


【解决方案1】:

如果您格式化错误,您会看到它是由 Microsoft.Extensions.HealthChecks.SqlServer 扩展引发的,该扩展已一年未更新,并且看起来也不像 Microsoft 扩展 - 它由名为 seven 的用户发布大约一年前发布了一堆带有Microsoft前缀的包,然后就沉默了。

我强烈建议删除该扩展程序。如果你安装了它需要的 .NET Core 运行时,你可以让它工作,但我不相信甚至没有指向其项目页面的链接的东西

更新

检查包的依赖关系表明它依赖于同一用户的abandoned package。源链接指向从未发布的experimental HealthChecks 存储库的a fork。

如原始链接所示,这些分析器已被 Microsoft.AspNetCore.Diagnostics 中的类替换,并最终作为官方 Microsoft.AspNetCore.Diagnostics.HealthChecks 包发布,确实支持 .NET Standard 2.0

【讨论】:

  • 问题甚至不是这个项目,当我创建一个全新的项目并希望以 .NET Standard 2.0 为目标时,它甚至不在列表中,请参阅显示可用 .net 标准框架的附件图像,但是没有 2.0
  • @Zoinky 问题是假包。这就是错误消息中显示的错误。形象无所谓。 错误消息很清楚地抱怨Microsoft.Extensions.HealthChecks.SqlServer
  • 我认为我在解释自己方面做得不好。当我尝试将一个全新的项目定位到它时,.NET Standard 2.0 完全丢失了 1. 创建了一个类库 2. 指向 .net 标准(它选择了 1.6) 3. 转到项目设置将其更改为 2.0,那里列表中没有 2.0,与我附加的最新图像相同,查看所有附加图像
  • @Zoinky Visual Studio 的行为并非如此。我使用这些版本已经有一段时间了。 Fake 扩展虽然是个问题。我不知道你是如何安装 VS 和 SDK 的,但我知道你的错误信息显示了一个假包
  • 这是解决方案中的 20 个错误之一,所有错误都抱怨我的机器缺少 .net 标准 2.0。仅供参考,我下载了这个github.com/dotnet-architecture/eShopOnContainers,这就是所有错误的来源,但深入研究,它与 .NET Standard 2.0 缺失有关,与特定项目无关
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 2018-06-09
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
相关资源
最近更新 更多