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

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

我使用 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.WindowsDesktop.App]

要安装其他 .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。

答案1

不要将可执行文件从调试文件夹中复制出来,而是使用发布功能并选择“自包含”选项。

答案2

构建过程生成:

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

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

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

对我来说,更好的方法是使用发布来生成单文件 EXE其中包含应用程序所需的一切。但它生成的文件相当大,大约是我以前发布的版本的两倍。

相关内容