获取 "You must install .NET Desktop Runtime 6.0.3 (x86)" 安装了正确的运行时
Getting "You must install .NET Desktop Runtime 6.0.3 (x86)" with correct runtime installed
在 Windows 资源管理器中双击 EXE 时,针对 .NET 6 构建的应用程序显示以下消息:
To run this application, you must install .NET Desktop Runtime 6.0.3
(x86)
此运行时 (6.0.3 x86) 已安装在计算机上。我已经使用 dotnet --info
命令确认了这一点:
我也尝试了 6.0.4 运行时,但这些也不起作用。
这发生在 Windows 10 机器上,但我也在 Windows 11 上测试过:
- 在 Hyper-V 中下载了 Windows 11 dev 虚拟机。
- 使用 Visual Studio 安装程序删除了 .NET 6。
- 从 Microsoft 的 Download .NET 6 页面安装
windowsdesktop-runtime-6.0.3-win-x86
。
您可以在 Hyper-V 中下载的 (Windows 10) MSIX 打包工具环境机器也会发生同样的情况。在此未安装 .NET 6。安装 windowsdesktop-runtime-6.0.3-win-x86
.
后结果相同
将目标 CPU 选项(在项目属性 > 编译中)设置为任何 CPU 会产生类似的结果,要求我也安装了 .NET 桌面运行时 x64 版本。
构建过程生成:
assembly_name.deps
assembly_name.pdb
assembly_name.runtimeconfig.json
我能够通过包含 runtimeconfig.json
文件来启动应用程序。
对于 .NET Framework 应用程序,可以简单地复制 EXE 和 DLL,但对于 .NET Core 应用程序,这似乎是不可能的。
更好的方法是使用发布功能,它可以将所有必需的文件正确地捆绑到一个 EXE 文件中以供分发。
在 Windows 资源管理器中双击 EXE 时,针对 .NET 6 构建的应用程序显示以下消息:
To run this application, you must install .NET Desktop Runtime 6.0.3 (x86)
此运行时 (6.0.3 x86) 已安装在计算机上。我已经使用 dotnet --info
命令确认了这一点:
我也尝试了 6.0.4 运行时,但这些也不起作用。
这发生在 Windows 10 机器上,但我也在 Windows 11 上测试过:
- 在 Hyper-V 中下载了 Windows 11 dev 虚拟机。
- 使用 Visual Studio 安装程序删除了 .NET 6。
- 从 Microsoft 的 Download .NET 6 页面安装
windowsdesktop-runtime-6.0.3-win-x86
。
您可以在 Hyper-V 中下载的 (Windows 10) MSIX 打包工具环境机器也会发生同样的情况。在此未安装 .NET 6。安装 windowsdesktop-runtime-6.0.3-win-x86
.
将目标 CPU 选项(在项目属性 > 编译中)设置为任何 CPU 会产生类似的结果,要求我也安装了 .NET 桌面运行时 x64 版本。
构建过程生成:
assembly_name.deps
assembly_name.pdb
assembly_name.runtimeconfig.json
我能够通过包含 runtimeconfig.json
文件来启动应用程序。
对于 .NET Framework 应用程序,可以简单地复制 EXE 和 DLL,但对于 .NET Core 应用程序,这似乎是不可能的。
更好的方法是使用发布功能,它可以将所有必需的文件正确地捆绑到一个 EXE 文件中以供分发。