无法在Visual Studio生成框架中选择.NET Core 2.2


67

以前,我可以在.NET Core项目的属性部分中选择.NET Core 2.2框架,但是在最新的Visual Studio更新之后,我无法进行选择。

框架选择

我尝试过的事情:

  • 修复.NET Core 2.2 SDK安装
  • 卸载和重新安装.NET Core 2.2 SDK
  • 重新启动Visual Studio
  • 重新启动我的机器
  • 制作一个新的.NET Core项目

没有任何工作。从它在我安装最新更新之前就可以运行的事实来看,这可能只是一个错误吗?还是我想念的东西?

为了更加清楚起见,我在最新版本的Windows上的Windows 10 Professional x64中运行。

从这里安装了此版本的.NET Core 2.2

在此处输入图片说明

任何帮助表示赞赏。谢谢!


1
在安装Visual Studio 2019之后出现了类似的问题。VS 2017现在缺少dotnet core 2.1,我不知道如何还原它。
迪伦·尼科尔森

Answers:


39

将Visual Studio 2017 15.9配置为使用.NET Core SDK的预览(中的Options)并重新启动VS。

2019年更新:

Microsoft决定VS2017 / 2019应该使用不同的.NET Core SDK版本,因此请确保您确实为VS版本安装了正确的版本,并在此处阅读正式声明,

https://github.com/dotnet/announcements/issues/108

您可能会在.NET Core发行说明中找到SDK版本/ VS版本表,例如https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2.4/2.2.4.md

订阅Microsoft .NET和Visual Studio团队博客是一个好习惯,这样您就可以随时学习新内容,例如https://blogs.msdn.microsoft.com/dotnet/2018/11/13/net-core -tool-update-for-visual-studio-2017-version-15-9 /


4
因此,为了澄清一点,在为x86和x64安装sdk之后,VS没有选择SDK的2.2版。只有在使用精确版本更新global.json文件之后,才出现2.2选项。我希望这有帮助!
Stefan Turcanu

23
答案显然不是“简单”的。不要屈尊。这个问题的最新的事业是一个更新的SDK(2.2.202)是不兼容VS 2017的发布
尼克·斯坦

1
@NickSilberstein这个答案属于它的问题(显然是在2018年),并且不假装也可以为Microsoft在2019
Lex Li

2
我昨晚试图更新Visual Studio 2017。之前没有安装.Net Core 2.2,所以我去获取最新版本,它拒绝出现。整夜都在抓挠。在阅读尼克的评论之前,我没有意识到2.2.202不兼容。我认为2.x系列将在VS2017上保持可用,而.Net Core 3.x将是VS2019。让我吃了一惊!
Patrick

3
我也是!我浏览了.NET Core 2.2的很多页面,它们总是引导到2.2.203安装程序。更令人困惑的是,页面标题是.NET Core 2.2.4更新-2019年4月9日,但VS2017有2.2.106,VS2019有2.2.203。阿加德 两者都导致在“ dotnet --info”下列出的2.2.4。有2.2.106我在VS2017中可用。谢谢!
鲍勃·丹尼

58

我有同样的问题。我正在尝试解决这一问题,大约一天。最后我想通了。我的VS版本是15.9.11和社区版。

问题详细信息: 2.1.6xx和2.2.2xx版本的sdk仅在Visual Studio 2019上受支持。VS2017需要2.1.5xx和2.2.1xx版本的sdk。

如何解决这个问题? 如果目标是2.1应用程序,则安装2.1.5xx版本的SDK如果目标2.2应用程序,则安装SDK的2.2.1xx版本。

链接在这里

编辑:指向可下载安装程序的直接链接是https://dotnet.microsoft.com/download/dotnet-core/2.2。如上所述,请检查哪个SDK版本与Visual Studio 2019和/或Visual Studio 2017兼容

例如,如果要在Visual Studio 2017(v15.9)中使用.NET版本2.2.7,则唯一可用的SDK版本是SDK 2.2.109。要使用SDK 2.2.206,您必须具有Visual Studio 2019(v16.0)。要使用SDK 2.2.402,您必须具有Visual Studio 2019(v16.2)。


最后。我试图让.Net Core 2.2在VS 2017中正常工作,或者事情没有按预期显示,或者像其他所有人一样出现了兼容性错误。安装VS 2019并重新安装Net Core 2.2(x64)之后(因为我在故障排除期间已卸载),我可以创建并运行2.2项目。如果MS可以使这一点更加明显,那就太好了:“需要Visual Studio 2019”
GrayDwarf

今天,Bahadir在同事的笔记本电脑上遇到了相同的问题-真奇怪,我想知道dotnet core 2.x框架的先前版本是否还缺少其他依赖项。
塔希尔·哈立德

实际上,Microsoft通过在.NET Core发行说明中列出SDK版本/ VS版本表(例如github.com/dotnet/core/blob/master/release-notes/2.2/2.2.4/…)来明确表明这一点。这是故意的,没有什么要讨价还价的。
Lex Li

至少如果在没有VS 2019的系统上尝试安装SDK时遇到错误,那将是很好的选择!
raterus '19

1
现在,将VS 2019与.NET Core 2.2。+一起使用的要求已添加到.NET Core SDK安装程序工具对话框的最后一行(比上面的注释晚了几个月),这是值得的。
jdnew18

35

Visual Studio 2017和2019需要特定的生成版本。缺少这些将给出此错误。

  • 2017使用xx100
  • 2019使用xx200

特定于每个vs版本的最新sdk https://github.com/dotnet/core

https://github.com/dotnet/core/blob/master/release-notes/2.2/2.2.4/2.2.4-download.md

  • 2017安装2.2.106
  • 2019安装2.2.203

这解决了问题


1
该解决方案为我工作。.我已经安装了Visual Studio 2017 15.9.04和.net sdk 2.2.202版本,并且遇到相同的问题..然后我已经安装了.net sdk版本2.2.106 Visual Studio 2017和Visual。 Studio for Mac 7.8 2.2.106 Visual Studio 2019(Windows和Mac)2.2.203
Cegone

这对我有用。我刚刚更新了2017 15.9.11,然后安装了.net sdk 2.2.202,并且2.2的目标框架没有出现在列表中。卸载2.2.202并安装2.2.107之后。在VS 2017上运行时,Target框架看起来不错。
达勒曼

我和别人一样处境,这对我有用。
sk md


11

对于在搜索“当前.net sdk不支持目标.net core 2.2 ...”之后登陆此处的其他人,请确保您选择了正确的下载平台:在32位版本的Visual Studio中运行时,请使用x86而不是x64位模式(目前始终如此)。


在32位模式下的Visual Studio中运行时,请使用x86而不是x64(目前始终如此)。-这并非完全正确。如答案所示,我首先安装了32位,但没有工作,将其卸载并安装了64位,但仍然有效。FWIW,是安装32位后出现的错误。
Sнаđошƒаӽ

对我而言并非如此。通过标准安装的Visual Studio,x64 SDK在我的x64 OS(Win7)上可以很好地工作。问题原来是我已经安装了随VS 2019一起提供的SDK版本,并且似乎与VS 2017不兼容。卸载并安装x64 2.2.105 SDK之后,此问题已解决。
尼克·席尔伯斯坦

@NickSilberstein那将是一个很好的替代答案。这里有很多失败模式,不是一个正确的答案。
伊恩·默瑟

9

在仅使用2.2.202的情况下使用2017年15.9.11(运行dotnet --info来查看已安装的内容),我无法在下拉列表中选择2.2,并且会收到错误消息“当前.NET SDK不支持定位.NET Core。 2.2英寸。

安装2.2.104之后,我便可以编译并在框架选择下拉列表中选择2.2。

尊敬的MS-VS最近太过麻烦了。自从您变得敏捷之后,我真的不明白事情的不稳定。


2
同意 我能够dotnet build从2.2.202的命令行中很好地使用它,但是Visual Studio无法使用它。我不得不降级到2.2.105。对此,很遗憾,没有在docs.microsoft.com/en-us/dotnet/core/…上发布任何内容。
crgolden


2

如果在使用Azure DevOps(VSTS)进行构建期间,如果有人在还原.net核心框架依赖项时出错,则可能是由于生成代理(在我的情况下为Hosted VS 2017)而没有.net核心SDK可用。

我通过添加此博客文章中指示的构建步骤来添加缺少的.net核心SDK(在我的情况下为2.2): Edi Wang的Azure DevOps上的.NET Core 2.2项目

从Microsoft Docs

由Microsoft托管的代理不包括某些.NET Core SDK的较早版本。它们通常也不包含预发行版本。如果您需要Microsoft托管的代理上的这类SDK,请将.NET Core Tool Installer任务添加到过程的开始。 Azure DevOps服务


2

对于那些在安装最新的.net core SDK之后仍然坚持编译.net core应用程序的人。

TL; DR:

根据您的Visual Studio版本(15、17或19),您需要安装特定的SDK版本(不一定是最新版本)。

因此从今天开始,您可以使用以下链接:

  • 对于Visual Studio 2017(版本15.9或更高版本),您将需要安装SDK版本2.2.106
  • 对于Visual Studio 2019(预览版或更高版本),您将需要安装SDK版本2.2.203

详细信息:

由于Visual Studio团队对Visual Studio将如何利用已安装的.net核心SDK进行了更改,因此存在一个兼容性表,该表显示哪个SDK版本与Visual Studio 2015/2017和2019兼容。

这是突出显示更改的博客文章:https : //devblogs.microsoft.com/dotnet/net-core-tooling-update-for-visual-studio-2017-version-15-9/

要解决此问题,您需要确保使用的Visual Studio版本兼容的SDK版本。

检查此表上的表,仅安装与Visual Studio版本兼容的SDK版本:https : //github.com/dotnet/core/blob/master/release-notes/2.2/2.2.4/2.2.4.md


2

我也面临着同样的问题(核心2.2框架没有出现在目标框架下拉列表中),因此要解决此问题,请执行以下步骤:

  1. 此处安装最新的核心版本。
  2. 在文件夹(C:\ Users [用户名])中找到global.json文件,在此文件中更改核心框架的版本。
  3. 重新启动Visual Studio。

希望对你有帮助!


global.json从用户目录中删除对我有用!
David Rettenbacher

花了几个小时解决了我的问题,谢谢!
Nilo0f4r

2

VS .Net Core SDK 2.2.107更新

这一页 .net核心下载具有专门用于VS 2017的2.2.107 sdk链接。即使我可以从Visual Studio的项目下拉列表中看到2.2核心选项,我也需要这样做。

较小的发行增量,但显然他们改变了基础的ms版本 与2017年相比笨拙 github dotnet内核。此外,VS 2017 15.9.12没有显示任何进一步的更新要求。

并且global.json和project.json等也消失了,现在使用了csproj文件。


2

如果在构建时遇到此错误:

当前.Net SDK不支持定位.Net Core 2.2目标...

在此处下载最新的.NET Core SDK:

https://dotnet.microsoft.com/download

安装它。

在文件夹(C:\ Users [username])中找到global.json文件,并在此文件中更改核心框架的版本(如果需要)。

重新启动VS,然后再次尝试构建。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.