Visual Studio 2019 不显示 .NET 6 Framework

Yas*_*fat 78 visual-studio asp.net-core asp.net-core-webapi .net-6.0

我一直在努力将 ASP.NET Core Web API 项目的目标框架更改为 .NET 6,该项目是使用目标框架 .NET 5 启动的。我已经尝试了一些选项,但找不到列出的 .NET 6 Framework在目标下拉列表中。

  1. 我正在使用 Microsoft Visual Studio Enterprise 2019 版本 16.11.3。
  2. 我已经安装了.NET 6.0.0-rc.2.21480.5。这是通过 dotnet --version 验证的。
  3. 启用“使用 .NET Core SDK 预览”,并重新启动程序。
  4. 多次重新启动工作站,但仍然没有成功。

Dre*_*kes 63

Visual Studio 2019 不支持 .NET 6 及更高版本。您可以通过手动编辑项目文件来使其工作,但为了获得完全支持的体验,您应该升级到 Visual Studio 2022。


Gur*_*ron 40

您不需要使用下拉菜单 - 打开.csproj文件并手动更改目标框架:

<TargetFramework>net6.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

至于下拉菜单 - VS 中似乎存在一些错误 - 我在 VS 2022 预览版旁边安装了 16.11.5,并且启用了“使用 .NET Core SDK 预览”标志,甚至使用 .NET 6 进行项目(它构建并运行)通过 VS2019)。此外,尽管.NET 6项目属性中缺少该属性,但新项目向导仍具有该属性。

Visual Studio 2019不支持.NET 6(另请参阅发行说明中的​​ VS 支持)。安装VS 2022以获得完整的 .NET 6 支持。


小智 10

要让 Visual Studio 2019 与 .NET 6 配合使用,您只需执行以下操作:

  • 安装.NET 6 SDK: https: //dotnet.microsoft.com/download
  • 打开要切换到 .NET 6 的 VS 项目
  • 使用 .NET 5(+) 构建您的项目
  • 进入项目目录并找到您的项目文件:.csproj
  • 在记事本或 Notepad++(基本上是任何 txt 编辑器)中打开项目文件并找到节点:<TargetFramework>
  • 如果您使用 .NET 5(+) 构建项目,它将显示为:<TargetFramework>net5.0-windows</TargetFramework>
  • 只需将值切换为:net6.0-windows 5 改为 6
  • 您的 TargetFramework 条目应编辑为:<TargetFramework>net6.0-windows</TargetFramework>
  • 现在保存您的项目文件
  • 接下来,只需启动 Visual Studio 2019 和刚刚修改为运行 .NET 6 的目标项目。
  • 在 [ Build ] 菜单项下对您的项目进行清理
  • 现在重新构建您的项目,您就可以开始了 \m/ :) \m/

注意,我使用的是 Windows 平台示例,相同的概念应该适用于 Linux 等,只需查看 .NET 5 节点的外观,<TargetFramework>然后交换 6 而不是 5,并保留值中的其他 txt 内容。我没有尝试过 Windows 以外的其他平台,但我确信它也能工作。

我已经交换了各种项目和复杂的项目,.NET 6 在 Visual Studio 2019 上的所有情况下都能完美运行!

  • 这个好像已经不行了?我在 VS2019 中收到明显错误“不支持在 Visual Studio 2019 中定位 .NET 6.0”。这很不幸,因为 VS2022 目前 Blazor 项目存在严重问题。 (4认同)
  • 使用版本 16.11.9 进行测试,应用程序构建和启动正常。我确实收到类似的警告,但没有错误。```警告 NETSDK1182:不支持在 Visual Studio 2019 中以 .NET 6.0 为目标。``` (4认同)

Max*_*ter 8

问题不在于 Visual Studio 的版本,而在于使用的 .NET 6 SDK 的版本。根据微软网站

NETSDK1182 警告已转换为 .NET SDK 6.0.300 中的硬错误(对于 .NET 6.0.5 运行时、Visual Studio 17.2)。因此,不要使用 6.0.3xx SDK 分支(看起来对于 6.0.4xx 等也是正确的)。

6.0.2xx SDK 分支已不再受支持(因为 Visual Studio 17.1 已不再受支持),但 6.0.1xx SDK 分支仍受支持(因为 Visual Studio 17.0 的支持截止日期为 2023 年 4 月 11 日)。

最新的是 .NET SDK 6.0.109(适用于最新的 .NET 6.0.9 运行时),Visual Studio 2019 可以使用它编译、运行和调试某些类型的 .NET 6.0 应用程序:类库、控制台、WinForms 和 WPF。ASP .NET Core 应用程序无法编译,但这并不是因为 NETSDK1182。使用最新的 Visual Studio 2019 16.11.19 进行测试。

解决方案是安装并使用 .NET 6 SDK 版本 6.0.2xx 或更低版本。然后这里发布的所有旧解决方案都将起作用。


小智 7

将 Visual Studio 更新到版本 16.11.7 解决了我的问题。

但首先您必须选中复选框:工具 > 选项 > 环境 > 预览功能 >使用 .Net SDK 预览(需要重新启动)


小智 5

编辑文件 %PROGRAMFILES%\dotnet\sdk\[VERSION]\minimumMSBuildVersion 并更改17.0.016.0.0.

然后, VS 2019 中的项目下拉菜单 将起作用并允许选择 .NET 6.0