【问题标题】:Error: The current .NET SDK does not support targeting .NET Standard 2.0错误:当前的 .NET SDK 不支持面向 .NET Standard 2.0
【发布时间】:2019-03-11 21:24:42
【问题描述】:

自从升级到 VS2017 (v15.18.6) 和 dot net core 2.1 后,出现烦人的构建错误。 我以前能够从https://github.com/MiniProfiler/dotnet 构建.sln。

我是整个 .net 标准/核心内容的新手(坦率地说,我发现 MS 处理这个问题的方法相当混乱和烦人!)。 无论如何,自从升级到新的 VS2017 版本和 2.1 后,我收到以下 2 个错误:

严重性代码描述项目文件行抑制状态 错误 当前的 .NET SDK 不支持面向 .NET Standard 2.0。以 .NET Standard 1.6 或更低版本为目标,或者使用支持 .NET Standard 2.0 的 .NET SDK 版本。 MiniProfiler.Shared C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets 126

错误 NETSDK1050 此项目使用的 Microsoft.NET.Sdk 版本不足以支持对面向 .NET Standard 1.5 或更高版本的库的引用。请安装 .NET Core SDK 2.0 或更高版本。 MiniProfiler.Shared C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.NETFramework.targets 67

有什么想法吗? 我在网上搜索过,似乎有各种类似的问题,但我并不真正了解根本问题。

【问题讨论】:

  • @mikez 我也这么认为,但后来我有一段时间了 4.6.1。
  • 是的,我看到你说它在升级到 15.8.6 后停止工作,这让我认为这是一个错误。我有很多同事抱怨最近的更新破坏了一些东西,所以我并不感到惊讶。
  • @mikez 正如你输入的那样,我恢复到 VS2017 15.7.6 并且一切似乎都可以构建。也许与更新的 MSBuild sdk 相关?不确定,但 MS 在他们如何使用 VS 管理 .NET 方面一团糟。我已经有一段时间没有遇到从升级到 VS 版本甚至是重大升级的构建问题了。
  • ci.appveyor.com/project/StackExchange/dotnet/branch/master 代码本身使用 SDK 2.1.300 构建在 AppVeyor 上,所以我想你也应该这样做。
  • @LexLi 很有趣,我已经有 2.1.403,所以我认为这将包括 300。任何想法我如何强制它使用特定版本构建?

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


【解决方案1】:

看来您正在使用核心而不是针对它。并且您似乎以某种方式将标准和核心带入了您的应用程序,这导致了冲突。检查您的依赖项和引用,并确保所有 .NET 选项都设置为相同的核心或标准。那么一旦你选择了你的版本,请确保设置目标以匹配它。标准目前稍微强大一些,但它即将被贬低,所以如果您可以切换到核心并且仍然具有您需要的功能,我建议这样做,因为这将增加您的项目的寿命。加上 linux 和 mac 选项。

【讨论】:

  • 您能提供更多信息吗?代码直接来自github。我在哪里设置目标版本以及设置什么?我正在做的只是尝试构建以前使用可能是我机器上的 .netstandard / 框架构建的东西
猜你喜欢
  • 2018-06-09
  • 1970-01-01
  • 2021-12-12
  • 1970-01-01
  • 1970-01-01
  • 2019-02-10
  • 2019-08-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多