.NET Core 2.2 无法在 Visual Studio Build Framework 中选择

Posted

技术标签:

【中文标题】.NET Core 2.2 无法在 Visual Studio Build Framework 中选择【英文标题】:.NET Core 2.2 Can't be Selected In Visual Studio Build Framework 【发布时间】:2018-11-15 23:27:13 【问题描述】:

以前,我可以在 .NET Core 项目的属性部分中选择 .NET Core 2.2 Framework,但是在最新的 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 from here

感谢任何帮助。谢谢!

【问题讨论】:

安装 Visual Studio 2019 后遇到类似问题。VS 2017 现在缺少 dotnet core 2.1,我不知道如何恢复。 【参考方案1】:

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

问题详情: 仅 Visual Studio 2019 支持 2.1.6xx 和 2.2.2xx 版本的 sdk。VS 2017 需要 2.1.5xx 和 2.2.1xx 版本的 sdk。

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

链接是here

编辑:可下载安装程序的直接链接是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” Bahadir 今天在同事的笔记本电脑上遇到了同样的问题 - 真的很奇怪,我想知道以前版本的 dotnet core 2.x 框架是否缺少其他依赖项。 其实微软在 .NET Core 发行说明中列出了 SDK 版本/VS 版本表就说明的很清楚了,比如github.com/dotnet/core/blob/master/release-notes/2.2/2.2.4/… 是故意的,没什么好讨价还价的。 至少,如果您在没有 VS 2019 的系统上尝试安装 SDK 时遇到错误,那就太好了! .NET Core SDK 安装工具对话框的最后一行现在添加了使用 VS 2019 和 .NET Core 2.2.+ 的要求(比上述 cmets 晚了几个月) , 物有所值。【参考方案2】:

将 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-tooling-update-for-visual-studio-2017-version-15-9/

【讨论】:

所以,澄清一下,在为 x86 和 x64 安装 sdk 之后,VS 没有选择 2.2 版的 SDK。只有在使用精确版本更新 global.json 文件后,2.2 才会作为选项出现。我希望这会有所帮助! 答案显然不是“简单”;不要居高临下。此问题的最新原因是发布了与 VS 2017 不兼容的更新 SDK (2.2.202)。 @NickSilberstein 这个答案属于它的问题(显然是在 2018 年),并且不假装也适用于微软在 2019 年搞砸的事情。 昨晚我试图更新 Visual Studio 2017。之前没有安装 .Net Core 2.2,所以我去获取最新版本,但它拒绝出现。整晚都在挠头。直到我阅读尼克的评论,我才意识到 2.2.202 不兼容。我认为 2.x 行将在 VS2017 上保持可用,而 .Net Core 3.x 将是 VS2019。让我大吃一惊! 我也是!我浏览了很多 .NET Core 2.2 页面,它们总是指向 2.2.203 安装程序。为了增加可笑的混乱,页面标题是 .NET Core 2.2.4 更新 - 2019 年 4 月 9 日,但 VS2017 有 2.2.106,VS2019 有 2.2.203。埃加德。两者都会导致 2.2.4 列在“dotnet --info”下。有了 2.2.106,我可以在 VS2017 中使用它。谢谢!【参考方案3】:

Visual Studio 2017 和 2019 需要特定的构建版本。缺少这些会出现此错误。

2017 使用 x.x.100 2019 年使用 x.x.200

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

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

这解决了问题

【讨论】:

这个解决方案对我有用。我已经安装了 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 这对我有用。我刚刚更新了 2017 15.9.11 然后安装了 .net sdk 2.2.202 并且 2.2 的目标框架没有出现在列表中。卸载 2.2.202 并安装 2.2.107 后。运行 VS 2017,Target 框架看起来不错。 我和其他人的情况一样,这对我有用。 我刚用 2.2.108 版本尝试过这个 - dotnet.microsoft.com/download/thank-you/…【参考方案4】:

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

【讨论】:

在 Visual Studio 中以 32 位模式运行时使用 x86 而不是 x64(目前总是如此)。 - 这并不完全正确。正如这个答案所说,我首先安装了 32 位,没有用,卸载它并安装 64 位,它工作。 FWIW,this 是我安装 32 位后遇到的错误。 这不是我的情况。 x64 SDK 在我的 x64 操作系统 (Win7) 上运行良好,标准安装了 Visual Studio。问题原来是我安装了与 VS 2019 一起发布的 SDK 版本,并且似乎与 VS 2017 不兼容。卸载并安装 x64 2.2.105 SDK 后,问题得到解决。 @NickSilberstein 这将是一个很好的替代答案。这里有很多失败模式,没有一个正确的答案。【参考方案5】:

使用只有 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.2.202 的命令行中使用 dotnet build,但 Visual Studio 无法使用它。我不得不降级到 2.2.105。 docs.microsoft.com/en-us/dotnet/core/… 上没有任何关于此的帖子,这很不幸。【参考方案6】:

请选择正确的 .net Core 框架。 Visual Studio 2017 v 15.9.12 兼容 .Net Core SDK 2.2.107 .SDK 2.2.300 兼容 Visual Studio 2019

【讨论】:

【参考方案7】:

如果有人在使用 Azure DevOps (VSTS) 构建期间恢复 .net 核心框架依赖项时出错,这可能是由于构建代理(在我的情况下为托管 VS 2017),没有可用的 .net 核心 SDK .

我添加了缺少的 .net 核心 SDK(在我的情况下为 2.2),方法是按照此博客文章的说明添加构建步骤: Build .NET Core 2.2 Projects on Azure DevOps by Edi Wang

来自微软文档

Microsoft 托管的代理不包含某些旧版本的 .NET Core SDK。它们通常也不包括预发布版本。如果您需要在 Microsoft 托管的代理上使用这些类型的 SDK,请将 .NET Core Tool Installer 任务添加到流程的开头。 Azure DevOps Services

【讨论】:

【参考方案8】:

适用于在安装最新的 .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/

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

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

【讨论】:

【参考方案9】:

我也面临同样的问题(核心 2.2 框架没有出现在目标框架下拉列表中)所以要解决这个问题,请按照以下步骤操作:

    从here 安装最新的核心版本。 在文件夹(C:\Users[username])中找到 global.json 文件,更改核心版本 此文件中的框架。 重新启动 Visual Studio。

希望对您有所帮助!

【讨论】:

从用户目录中删除 global.json 对我有用! 花了几个小时解决了我的问题,谢谢!【参考方案10】:

VS .Net Core SDK 2.2.107 更新

此页面.net core downloads 有专门针对 VS 2017 的 2.2.107 sdk 的链接。即使我可以从 Visual Studio 的项目下拉列表中看到 2.2 核心选项,我也需要这个。

较小的发布增量,但显然他们更改了底层的 ms 构建 github dotnet core,这与 2017 相比有所退步。此外,VS 2017 15.9.12 没有显示任何进一步的更新要求。

global.json 和 project.json 等也没有了,现在使用的是 csproj 文件。

【讨论】:

【参考方案11】:

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

当前的 .Net SDK 不支持针对 .Net Core 2.2 Target ...

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

https://dotnet.microsoft.com/download

安装它。

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

重新启动 VS 并再次尝试构建。

【讨论】:

【参考方案12】:

经过一段时间的努力,我从这个微软页面找到了这个解决方案: https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

我已经安装了 Visual Studion 2017 Sdk > x64 SDK

【讨论】:

以上是关于.NET Core 2.2 无法在 Visual Studio Build Framework 中选择的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2019 不在目标框架下拉列表中显示 .NET Core 2.2

如何使用 Visual Studio 2019 在 ASP.NET Core 2.2 中安装 Font Awesome [关闭]

在 Visual Studio 2017 中将 .NET Core 2.2 应用程序发布为依赖于框架的可执行文件 (FDE)

如何将 Angular 9 SPA 项目和 ASP.NET Core 2.2 MVC 项目组合成一个 Visual Studio 2017 解决方案?

.Net Core 5 项目无法在 Visual Studio 2019 中运行

表单视图设计器无法在 Visual Studio 2019 中使用 c# .NET Core 3.1 [重复]