当前的.NET SDK不支持在Visual Studio 2017更新15.3

时间:2017-08-17 10:08:35

标签: visual-studio-2017 .net-standard-2.0

我想用Target Framework .NET Standard 2.0创建一个类库项目。

我已将Visual Studio 2017更新为版本15.3,并在Visual Studio安装程序中手动选中了.NET Framework 4.7 SDK.NET Framework 4.7 targeting pack并安装了它们。

“项目/应用程序”窗口中的“目标框架”组合框中仍然没有.NET Standard 2.0选项。所以我手动将.csproj文件中的TargetFramework标记更改为netstandard2.0,但在尝试构建后我收到此错误:

  

当前的.NET SDK不支持以.NET Standard 2.0为目标。   要么是.NET Standard 1.6或更低版本,要么使用.NET版本   支持.NET Standard 2.0的SDK。

14 个答案:

答案 0 :(得分:125)

听起来像为特定版本安装VS2017更新并没有安装.NET Core 2.0 SDK。您可以下载here

要检查您已安装的SDK版本,请运行

dotnet --info
从命令行

。请注意,如果当前工作目录或任何祖先目录中有global.json文件,则会覆盖运行SDK的哪个版本。 (例如,如果您想为项目强制执行特定版本,那将非常有用。)

根据评论判断,某些版本的VS2017更新执行安装.NET Core SDK。我怀疑它会随着时间的推移而有所不同。

答案 1 :(得分:10)

以上答案并不能解决我的问题。我终于通过专门转到此链接https://www.microsoft.com/net/download/visual-studio-sdks并下载所需的 Visual Studio SDK 来解决了该问题。真令人困惑,我不明白为什么,但这解决了我的问题

答案 2 :(得分:6)

对我来说,解决方案是更改global.json中的版本以反映已安装的版本。

与其他人一样,可以在cmd

中找到运行dotnet --info的版本

此:

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "2.0.3"
  }
}

变成了:

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "2.1.4"
  }
}

您还可以通过运行

创建global.json文件
dotnet new globaljson --sdk-version 2.1.4

在项目的根目录

答案 3 :(得分:6)

有时在我尝试打开旧项目时会发生这种情况,这对我有所帮助是更改项目目标框架。 转到项目-> 项目名称属性...,然后将目标框架更改为已安装的框架。 Project properties

答案 4 :(得分:6)

我同时安装了Visual Studio 2019和2017。我尝试单独安装VS2017的.NET Core 2.X SDK,但没有成功。

问题是,我已将.NET Core 3.0 SDK安装为默认的sdk版本,而VS2017不喜欢。

我的解决方案是为特定项目切换SDK版本。

  • 首先,列出已安装的SDK以便找到所需的版本
$ dotnet --info

.NET Core SDK (reflecting any global.json):
 Version:   3.1.100
 Commit:    cd82f021f4

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.100\

Host (useful for support):
  Version: 3.1.0
  Commit:  65f04fb6db

.NET Core SDKs installed:
  1.1.14 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.509 [C:\Program Files\dotnet\sdk]
  2.2.110 [C:\Program Files\dotnet\sdk]
  3.0.100 [C:\Program Files\dotnet\sdk]
  3.1.100 [C:\Program Files\dotnet\sdk]
  • 从您的解决方案目录
$ dotnet new globaljson --sdk-version 2.2.110 --force

现在,dotnet将为此解决方案使用指定的SDK版本。

在没有弄乱我的3.0项目的情况下,我还没有找到一种在整个系统范围内进行操作的方法。

答案 5 :(得分:4)

这对我有用

使用Visual Studio的installation

在“工作负载”选项卡上,选中“ .Net Core跨平台开发”,然后单击“修改”

enter image description here

别忘了在左侧菜单中检查“ .NET Core 2.0开发工具”。

Source

注意

我以前安装过Asp Net Core,但是在我使用Visual Studio进行安装后,它才出现在我的Visual Studio中。

答案 6 :(得分:3)

当我将Visual Studio升级到15.5.1版时,.Net Core SDK升级到2.X,因此此错误消失了。当我运行<select [(ngModel)]="orderTracking.selectDestination"> ... </select> 时,我现在看到以下内容:

enter image description here

答案 7 :(得分:2)

在卸载一些.NET Core 1.x预览版SDK之后,我刚刚在15.8.3中使用了该软件,我的应用程序无法编译并显示错误。

即使我使用的是Windows 10 x64,也可以通过安装最新的x86版本的SDK进行修复。

我认为这是因为VS 2017仍然是x86程序,尽管这些程序以x64运行,但编译器正在寻找合适的x86 SDK

答案 8 :(得分:2)

实际上,对我来说,它与其他答案的发生方式相反。

已安装 最新的.NET Core SDK 在问题出现之前(本例中为3.0.0-preview2)没有最新版本的Visual Studio(不确定是否会有所不同)。

因此,解决方案仅仅是卸载最新的.NET Core SDK 。 (如果需要,这并不完美,因此您可以考虑将Visual Studio升级到最新版本,但至少可以解决当前的问题。)

答案 9 :(得分:0)

我遇到了同样的问题,并且拥有最新版本 Microsoft Visual Studio社区2017 版本15.7.3

我刚刚下载了最新的SDK 2.1,没有其他定位问题。 https://www.microsoft.com/net/download/thank-you/dotnet-sdk-2.1.301-windows-x64-installer

信息: Microsoft Visual Studio社区2017 版本15.7.3 VisualStudio.15。发行版/15.7.3+27703.2026 Microsoft .NET Framework 版本4.7.03056

安装版本:社区

C#工具2.8.3-beta6-62923-07。提交哈希:7aafab561e449da50712e16c9e81742b8e7a2969 IDE中使用的C#组件。根据您的项目类型和设置,可以使用不同版本的编译器。

通用Azure工具1.10 提供由Azure移动服务和Microsoft Azure工具使用的通用服务。

NuGet软件包管理器4.6.0 Visual Studio中的NuGet程序包管理器。有关NuGet的更多信息,请访问http://docs.nuget.org/

ProjectServicesPackage扩展1.0 ProjectServicesPackage Visual Studio扩展详细信息

ResourcePackage扩展1.0 ResourcePackage Visual Studio扩展详细信息

Visual Basic工具2.8.3-beta6-62923-07。提交哈希:7aafab561e449da50712e16c9e81742b8e7a2969 IDE中使用的Visual Basic组件。根据您的项目类型和设置,可以使用不同版本的编译器。

Visual Studio代码调试适配器主机程序包1.0 用于在Visual Studio中托管Visual Studio Code调试适配器的Interop层

Visual Studio Tools for Unity 3.7.0.1 用于Unity的Visual Studio工具

答案 10 :(得分:0)

我刚刚遇到了这个麻烦。就我而言,我有一个有效的脚本

SET devenvPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe
"%devenvPath%" mySolution.sln /Rebuild "DebugWithUT|AnyCpu" /Out mySolution.Build.log

今天,我开始收到这个确切的错误。但是现在我记得前一天安装​​VS2019。看起来它改变了VS2017。我去了VS2017 Update,安装了最新版本/更新,并将其修复了。

答案 11 :(得分:0)

请确保您下载的是x86 SDK,而不仅仅是Visual Studio的x64 SDK。

答案 12 :(得分:0)

我遇到了同样的问题,因为当前的.NET SDK不支持定位.NET Core 3.1。目标.NET Core 1.1或更低版本,或者使用支持.NET Core 3.1的.NET SDK版本。

1)确保计算机上已安装.Net core SDK。 Download .NET

2)如下设置PATH环境变量 Path

答案 13 :(得分:0)

在尝试在TFS中构建解决方案时遇到了这个问题。我们正在使用“点网发布”任务。使用msbuild为我们破冰。