繁体   English   中英

使用 Blazor Asp.NetCore 托管模板时获取“NETSDK1045 当前 .NET SDK 不支持 .NET Core 3.0 作为目标”

[英]Getting “NETSDK1045 The current .NET SDK does not support .NET Core 3.0 as a target” when using Blazor Asp.NetCore hosted template

我已经安装了 .NetCore 3.0 的预览版并尝试在 Visual Studio 2019 中运行 blazor 模板Blazor (ASP.NET Core hosted)

在此处输入图片说明

发生的错误如下:

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

这几天我不得不在许多不同的开发机器/容器上解决这个问题:最终,我发现了至少 6 个不同的原因可能导致这种错误:

  1. 缺少 .NET Core 3 SDK(x86 或 x64)
  2. VS2019 中未启用 .NET Core SDK 预览版支持
  3. VS2017 而不是 VS2019
  4. PATH 环境变量中的错误 SDK 路径
  5. MSBuildSDKsPath 环境变量中的错误 SDK 路径
  6. 项目的 global.json 文件中的 SDK 版本错误

这些场景的解决方法很容易理解,您基本上必须安装正确的 SDK 或删除“有问题的”SDK 引用。 但是,我已尽力在我博客上的这篇文章中记录了所有这些内容

在此评论之后,我通过在 x64 版本之外安装 x86 版本的 .NET Core 3.0 来解决该问题。 重新启动 Visual Studio (2019) 后构建工作。

对我来说,解决方案是删除路径变量MSBuildSDKsPath - 因为探索预览 sdks 的我在某个时候声明了该变量来修复另一个 sdk 错误 - 似乎强制设置了使用的版本。 所以在我的情况下它被设置为 3.0.100 并在尝试使用 3.1.300 时导致错误

我遇到了同样的错误,并通过选中“使用 .NET Core SDK 的预览(需要重新启动)”选项来解决它。 打开工具 > 选项,然后根据您的 Visual Studio 版本尝试查看“预览功能”或“.Net Core”。 注意 VS 更新,他们可以禁用它。

这是一个非常令人讨厌的解决方案,但至少它有效。 假设您已经为 3.0.100-rc1-014190 安装了 SDK。 它按预期显示在dotnet --list-sdks ,但似乎仍未被 Visual Studio 检测到,并且在尝试从 dotnet CLI 构建或测试任何内容时,您会遇到相同的 NETSDK1405 错误。

查看您的 dotnet SDK 安装目录(通常是C:\\Program Files\\dotnet\\sdk )。 您应该在那里看到您的预览 SDK。 创建副本或重命名现有文件夹以删除预览版本后缀。 例如3.0.100-rc1-014190会变成3.0.100 ,像这样:

在此处输入图片说明

这样做使 .Net Core 3 预览版支持最终在 VS2019 预览版 4 和 dotnet CLI 中为我工作。

对我来说,这就像在 Visual Studio 2019 中启用预览一样简单。不幸的是,我认为大多数展示如何执行此操作的帖子都已过时。 我终于看到了这篇堆栈溢出帖子如何在 VS2019 中启用 .NET Core 3 预览版 SDK? 他们移动了复选框,但对我来说默认情况下它没有打开。

这是一个令人沮丧的问题,在对 VS 进行所有更新后仍然无法安装,我将其追踪到环境变量。 尝试删除MSBuildSDKsPath并查看是否可以解决您的问题。

暂无
暂无

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

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