繁体   English   中英

目前.NET SDK不支持针对.NET Core 2.1。 要么以 .NET Core 2.0 或更低版本为目标,要么使用支持 .NET Core 2.1 的 .NET SDK

[英]The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a .NET SDK that supports .NET Core 2.1

已尝试升级到专业版visual studio 2017 v 15.6.0 (Preview 7.0)

并安装了 as.netcore-runtime-2.1.0-preview1-final-win-x64 和 .net 核心 SDK 2.1.4。

当我创建一个新的 web 应用程序时,我收到一条错误消息

“当前的 .NET SDK 不支持以 .NET Core 2.1 为目标。要么以 .NET Core 2.0 或更低版本为目标,要么使用支持 8186230 Core .NET SDK 的版本。”

当我尝试构建现有项目时出现错误

“当前的 .NET SDK 不支持以 .NET Core 2.1 为目标。要么以 .NET Core 2.0 或更低版本为目标,要么使用支持 8186230 Core .NET SDK 的版本。”

我在我的目标框架中没有看到“.net core 2.1”

我的电脑里没有 global.json 文件

当我尝试 do.net --info 时,我得到了这个

c:\source\dnacloud\testapp>do.net --info .NET 命令行工具 (2.1.100)

 Product Information: Version: 2.1.100 Commit SHA-1 hash: b9e74c6 Runtime Environment: OS Name: Windows OS Version: 10.0.16299 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\do.net\sdk\2.1.100\ Microsoft .NET Core Shared Framework Host Version: 2.0.5 Build: 17373eb129b3b05aa18ece963f8795d65ef8ea54

这里的问题是,微软混淆了很多人,他们对 .NET Core SDK 的编号方式感到困惑。

在原始海报的消息中,路径 C:\\Program Files\\dotnet\\sdk\\2.1.100\\ 似乎并不代表 .NET Core 2.1 运行时(但您会认为它确实如此)。

我在 developercommunity.visualstudio.com 上看到了这篇文章当前 .NET SDK 不支持针对 .NET Core 2.1 ,其中 Microsoft 支持人员解释了混淆:

“感谢您的反馈!我们已确定此问题不是错误。第一个支持 .NET Core 2.1 的 SDK 是 2.1.300-preview1。我们知道版本控制令人困惑,这就是为什么从 2.1.300 开始, SDK 的主要.次要版本现在也将与运行时的主要.次要版本保持一致。”

所以...为了通过 SDK 获得 .NET Core 2.1 支持,您至少需要安装 2.1.300 版本的 SDK(因为 2.1.2 不是 .NET Core 2.1)...是的,令人困惑。 感谢微软在这方面浪费了一些时间。

这发生在我安装 2.2.100-preview3-009430 然后更新到 Visual Studio 15.9.2 之后。

我通过启用“使用 .NET Core SDK 的预览”选项解决了这个问题。

  1. 转到:工具 > 选项 > 项目和解决方案 > .NET Core

  2. 选中“使用 .NET Core SDK 的预览”框

  3. 重新启动 Visual Studio 并重建解决方案。

VS 预览选项

安装.NET Core SDK 2.1.300-preview2对我.NET Core SDK 2.1.300-preview2

更新:以防万一,最近发布了一个更新的版本。 您可以在此处下载适用于 2.2.0-preview1(包括 ASP.NET 2.2.0-preview1)的新 .NET Core SDK。

当您遇到这样的错误时,另请参阅此答案

当前的 .NET SDK 不支持面向 .NET Core 2.X

我解决了这个问题。 原因是我安装了

  • aspnetcore-runtime-2.1.0-preview1-final-win-x64
  • .net core SDK 2.1.4-x64版本。
  • 安装将 sdk 文件放在c:\\Program Files\\dotnet
  • 但是 VS2017 32bit 正在寻找c:\\Program Files(x86)\\dotnet的 sdk 文件。

为了解决这个问题,我

  • 安装了 x86 版本的 sdk 和 aspnetcore 运行时,

  • 将 MSBuildSDKsPath 环境变量设置为指向新的安装路径。

  • 从控制面板中删除了所有过时的 sdk

找不到问题VS2017 Update 3 'Microsoft.NET.Sdk.Web'有助于解决此问题。

https://www.microsoft.com/net/download/visual-studio-sdks

你可以从上面的站点下载SDK

检查您机器路径 C:\\Program Files\\dotnet\\sdk 中的 SDK

在visual studio中更改或检查目标框架,

右键单击启动应用程序或项目 => 应用程序 => 目标框架。

您可以更改框架并构建解决方案并恢复块金包。

在此处输入图片说明

我也遇到了同样的情况,但随后是 .NET Core 2.2 版。 我安装了最新版本的.NET Core 2.2 SDK,当时是2.2.202。 Visual Studio 允许我为 Core 2.2 创建一个新项目,但它显示了错误:

“当前的 .NET SDK 不支持面向 .NET Core 2.2。要么面向 .NET Core 2.1 或更低版本,要么使用支持 .NET Core 2.2 的 .NET SDK 版本。”

我的项目的目标框架是空的,下拉菜单没有显示 2.2。

安装 .NET Core SDK 2.2.103 后,错误消失,下拉菜单显示“.NET Core 2.2”。

检查以确保您的项目根文件夹中没有global.json文件,该文件强制您的项目仅使用 .NET SDK 2.1。

如果您有这个 global.json 文件,请将其删除,然后重新启动 Visual Studio。

听起来很尴尬,我花了将近一个小时的时间修修补补,我什至下载了几个 SDK 版本来强制它使用 2.2

停止 IIS 进行发布解决了这个问题。 但首先我需要安装 net core 2.1 SDK 并更新 Visual Studio。

我安装了 .Net Core SDK 2.1.4 并遵循了这篇文章中的其他答案,但没有解决我的问题。 最终为我做的是安装 .Net Core SDK 版本 2.1.301 ,并卸载所有其他版本。 似乎 SDK 2.1.4 无法针对 .Net Core 2.1,但 SDK 2.1.301 可以完成这项工作。

我也是这样解决的:

检查 dotnet sdk 上的可用版本

C:\Users\me>dotnet --list-sdks

 ##2.1.202 [C:\Program Files\dotnet\sdk]
 ##2.1.505 [C:\Program Files\dotnet\sdk]
 ##2.1.508 [C:\Program Files\dotnet\sdk]
 ##2.1.509 [C:\Program Files\dotnet\sdk]
 ##2.1.511 [C:\Program Files\dotnet\sdk]
 ##2.1.514 [C:\Program Files\dotnet\sdk]
 ##2.1.801 [C:\Program Files\dotnet\sdk]

我在所有这些版本上测试了我的构建,直到我从“程序和功能”中卸载了上述所有内容后,它才能工作。 然后从最新下载:

https://dotnet.microsoft.com/download/dotnet-core/thank-you/sdk-3.1.300-windows-x64-installer

这奏效了。 不要浪费时间,就像我刚刚安装了最新版本的 dotnet sdk,你很高兴。

我正在使用 Rider,我有

当前的 .NET SDK 不支持面向 .NET Core 2.2。 以 .NET Core 2.1 或更低版本为目标,或使用支持 .NET Core 2.2 的 .NET SDK 版本

我有:

$ dotnet --list-sdks
2.1.2 [C:\Program Files\dotnet\sdk]
2.1.202 [C:\Program Files\dotnet\sdk]
2.1.505 [C:\Program Files\dotnet\sdk]
2.1.602 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]

我尝试只保留最新的 sdk,并且有:

项目“WebApplication3”加载失败:找不到指定的 SDK“Microsoft.NET.Sdk.Web”..

所以我删除了所有内容并重新安装了 2.1.602。 从 Rider 制作了一个新项目。 它奏效了 不能说我明白我是如何解决它的......

某些人的问题似乎与 global.json 有关,请参阅:
- https://docs.microsoft.com/fr-fr/aspnet/core/migration/21-to-22?view=aspnetcore-2.2&tabs=visual-studio
- https://docs.microsoft.com/fr-fr/dotnet/core/tools/global-json
- https://andrewlock.net/the-sdk-microsoft-net-sdk-web-specified-could-not-be-found/

我之前做过的其他事情(似乎没有解决问题,但可能有帮助?):
- 将 Rider 从 2018.3.2 更新到 2018.3.4(最新)。 - 安装 Mono(在查看 Rider 构建设置时使用的是 Unity 中的那个)。
- 尝试使用来自 Jetbrain(用于 Linux 的)的自定义 MSBuild,但没有成功。
- 从 VS 安装程序安装与 .NET Core 相关的所有内容。
- 更新 VS 社区 ot 最新。 - 重启。

Rider/Build, Execution, Deployement/Toolset and Build我现在有:
Mono 可执行文件: C:\\Program Files\\Mono\\bin\\mono.exe
- NET Core CLI 可执行文件: C:\\Program Files\\dotnet\\dotnet.exe
- 使用 MS Build 版本(自动检测到 16.0): C:\\Program - Files\\dotnet\\sdk\\2.1.602\\MSBuild.dll

安装 SDK 2.2.300 后,我开始收到此错误。 阅读这篇文章和其他一些文章后,我将其降级到 SDK 2.2.1xx ,错误消失了。 注意:我必须在安装 SDK 2.2.1xx 后卸载 SDK 2.2.300 并重新启动。

我遇到了这个问题,我重新安装了 VS2017。 那就修好了!

去你的管道。 单击编辑管道。 单击代理规范下拉列表。 将其更改为 Windows 2019。单击 Save And Queue。

你走吧。 它对我来说很好。

我在 Visual Studio 2017 中遇到了同样的问题。右键单击项目并转到属性。 从那里您可以更改目标框架。 选择合适的框架并运行您的项目。 这个解决方案对我有用。

打开旧项目时出现此问题。 解决方案是从 Visual Studio Installer 为我的 IDE (VS 2017) 安装.NET Core 2.1 开发工具

Visual Studio 安装程序

如果您运行错误(旧)版本的 Visual Studio,将向您报告相同的错误。

我最近对 .NET 7 的早期开发感到非常震惊,安装了所有 SDK,但 VS 仍然拒绝构建我的 .NET 7 项目,给出完全相同的消息。 显然 VS 2019 在 .NET 5 处达到最大值,这是 SDK 它试图将我的用于我的 .NET 7 项目。 解决方案很明显:)

看起来微软正在鼓励那些早期采用 Net Core 2.1 中最新开发软件的人进行更好的编码实践,方法是取消在坏习惯盛行的情况下使用旧软件的能力。 Net Core 2.0 和旧版本的生命周期即将结束,因此根本不应使用。 https://blogs.msdn.microsoft.com/dotnet/2018/06/20/net-core-2-0-will-reach-end-of-life-on-september-1-2018/

1) 微软已经删除了 ServiceLocator,因为它被广泛认为是一种导致难以理解代码的反模式。

2) 为了改进 MVC 应用程序,从身份验证/授权中删除了 AccountController,以鼓励使用实现单一职责原则的 Razor 页面。

为了增加过去为降低软件工程标准而构建的软件的持久性,规避这些更改不会被认为是最佳实践。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM