【问题标题】:Visual Studio 2019 Not Showing .NET 6 FrameworkVisual Studio 2019 未显示 .NET 6 框架
【发布时间】:2021-12-14 19:18:18
【问题描述】:

我一直在努力将 asp.net core web api 项目的目标框架更改为使用目标框架 .net5 开始的 .NET 6。我已经尝试了一些选项,但找不到目标下拉列表中列出的 .NET 6 框架。

  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. 重新启动工作站几次,仍然没有成功。

期待获得社区帮助!

【问题讨论】:

  • Visual Studio 2022 支持 .NET 6

标签: visual-studio asp.net-core-webapi .net-6.0


【解决方案1】:

.NET 6 在 VS2019 中不受支持。您可以通过手动编辑项目文件来使其工作,但为了获得完全支持的体验,您应该升级到 VS2022。

【讨论】:

  • 谢谢。我更新了 VS2019 并安装了 .NET 6 非预览版,但是在 VS2019 中创建新项目时,只有 .NET 6 预览版可用。
【解决方案2】:

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

<TargetFramework>net6.0</TargetFramework>

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

附: 为 Visual Studio 提交了一个问题。

UPD

Visual Studio 2019 does not support .NET 6(另见 VS support in the release notes)。安装 VS 2022 以获得完整的 .NET 6 支持。

【讨论】:

  • 感谢您的回复!我也这样做了,但是在显示“NETSDK1045:当前的 .NET SDK 不支持‘较新版本’作为目标”的情况下构建失败。错误信息!
  • @YasirArafat 检查您的项目中的global.json。也可以从控制台尝试dotnet build
  • @YasirArafat 还尝试安装 2022 的预览版(并尝试从 VS 2019 构建)-也许这也会有所帮助。
  • 没有 global.json。 dotnet build 命令成功,但解决方案没有运行!此外,我发现新信息为 NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported!已经可以安装 2022 RC3了!
  • 这可行,但 ASP.NET 6 项目无法从 VS2019 中启动,应用程序会抛出 InvalidOperationException: The view 'Index' was not found。由于 .NET6 编译剃须刀视图的新方式
【解决方案3】:

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

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

注意,我使用的是 Windows 平台示例,相同的概念应该适用于 Linux 等,只需查看 .NET 5 节点对于 &lt;TargetFramework&gt; 的外观,只需换入 6 而不是 5 并保留其他 txt是在价值。我没有尝试过除 Windows 以外的其他平台,但我相信它也能正常工作。

我交换了各种项目和复杂的项目,.NET 6 在 Visual Studio 2019 上的所有情况下都能完美运行!我个人会尽快获得 Visual Studio 2022,但很高兴我可以在 VS2019 的第一天开始 .NET 6 开发,直到我可以升级到 64 位优势和热重载等。

无论如何,我希望这对某人有所帮助。

【讨论】:

  • 这似乎不再起作用了?我在 VS2019 Targeting .NET 6.0 in Visual Studio 2019 is not supported. 中得到一个明显的错误,这很不幸,因为 VS2022 目前在 Blazor 项目中存在严重问题。
  • 经过 16.11.9 版测试,应用构建和启动正常。我确实收到了类似的警告,但没有错误。 warning NETSDK1182: Targeting .NET 6.0 in Visual Studio 2019 is not supported.
  • VS 2019 16.11.10 给出了一个可靠的错误
【解决方案4】:

将 Visual Studio 更新到 Vs2019 16.11.7 我的问题解决了 但首先你必须检查复选框:工具>选项>环境>预览功能>使用.Net SDK的预览(需要重新启动)

【讨论】:

    【解决方案5】:

    对我来说,原因是 dotnet.exe 在 c:\Program Files (x86)\... 文件夹中的 32 位(!)安装。

    我做了什么?

    • 作为一个诊断步骤,我运行 dotnet --list-sdks,它列出了 nothing
    • 虽然我确信我有 dotnet sdks(我每天都在使用 .NET,现在安装了 VS 2022,但怎么可能没有任何 SDK?
    • 不管怎样,我安装了最新版本的 .NET 6 SDK
    • 作为诊断步骤,我运行 dotnet --list-sdks仍然没有
    • 我运行where dotnet.exe,结果它来自c:\Program Files (x86)\...
    • 重命名了32个版本的文件夹,都解决了。

    【讨论】:

      【解决方案6】:

      image

      Dotnet 6.0 仅在 Visual Studio 2022 中受支持。 您可以从这里查看详细信息: https://dotnet.microsoft.com/en-us/download/dotnet/6.0

      【讨论】:

        【解决方案7】:

        .NET 6.0 与 VS 2022 一起推出,安装新的 Visual Studio 版本并继续

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-03-07
          • 1970-01-01
          • 2019-09-02
          • 1970-01-01
          • 2021-08-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多