“您必须安装 .NET 桌面运行时 6.0.4 (x64)”错误

Éti*_*lle 4 installation windows-10 .net-core

我使用 Visual Studio 2022 创建了一个简单的 Hello World 应用程序。该应用程序是一个面向 .NET 6.0 框架的 WPF 应用程序。没有代码,只有一个“Hello World”TextBlock MainWindow.xaml。当我尝试在 Windows 10 计算机上运行二进制文件时,我收到以下消息框:

要运行此应用程序,您必须安装 .NET Desktop Runtime 6.0.4 (x64)。您想立即下载吗?

您必须安装 .NET 桌面运行时

当我运行该dotnet --info命令时,它显示以下内容:

主机(对支持有用):版本:6.0.4 提交:be98e88c76

已安装 .NET SDK:未找到 SDK。

安装的 .NET 运行时: Microsoft.NETCore.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.4 [C:\Program Files\dotnet\shared\Microsoft .Windows桌面.应用程序]

要安装其他 .NET 运行时或 SDK: https:
//aka.ms/dotnet-download

此时我觉得我已经拥有了所需的一切,但我无法运行应用程序。

我已从此下载页面下载了 .NET Desktop Runtime 6.0.4 。它安装没有任何问题。

这种情况发生在我测试过的多台机器上,包括:

  1. Hyper-V 中的 Windows 10“MSIX 打包工具环境”映像
  2. Hyper-V 中的 Windows 11“开发环境”映像
  3. 两台 Windows 10 开发机器。

重现问题

  1. 使用 Visual Studio 创建一个面向 .NET 6.0 的新 WPF 应用程序。
  2. 构建应用程序。
  3. 将 EXE 和 DLL 从bin/Debug/net6.0-windows另一台计算机复制。
  4. 在另一台机器上运行 EXE。

Éti*_*lle 6

构建过程生成:

  1. assembly_name.deps
  2. assembly_name.pdb
  3. assembly_name.runtimeconfig.json

我能够通过包含该runtimeconfig.json文件来启动该应用程序。

对于 .NET Framework 应用程序,可以简单地复制 EXE 和 DLL,但对于 .NET Core 应用程序似乎不可能这样做。

满足我的需求的更好方法是使用 Publish 生成包含应用程序所需的所有内容的单文件 EXE 。但它生成的文件相当大,大约是我之前版本的两倍。

  • 应该仔细评估是否创建一个(相对庞大的)独立应用程序更好(主要是您是否控制目标环境)。IIRC 官方文档有一些优点。仅供您和他人参考。 (3认同)