【问题标题】:Getting "You must install .NET Desktop Runtime 6.0.3 (x86)" with correct runtime installed安装正确的运行时获取“您必须安装 .NET Desktop Runtime 6.0.3 (x86)”
【发布时间】:2022-07-25 19:33:51
【问题描述】:

针对 .NET 6 构建的应用程序在 Windows 资源管理器中双击 EXE 时显示以下消息:

要运行此应用程序,您必须安装 .NET Desktop Runtime 6.0.3 (x86)

不过,此运行时 (6.0.3 x86) 已安装在机器上。我已经使用dotnet --info 命令确认了这一点:

我也尝试了 6.0.4 运行时,但也没有。

这发生在 Windows 10 机器上,但我也在 Windows 11 上进行了测试:

  1. 在 Hyper-V 中下载了 Windows 11 开发虚拟机。
  2. 使用 Visual Studio 安装程序删除了 .NET 6。
  3. 从 Microsoft 的 Download .NET 6 页面安装 windowsdesktop-runtime-6.0.3-win-x86

您可以在 Hyper-V 中下载的 (Windows 10) MSIX Packaging Tool Environment 机器也会发生同样的情况。在此未安装 .NET 6。安装windowsdesktop-runtime-6.0.3-win-x86后结果相同。

将 Target CPU 选项(在 Project Properties > Compile 中)设置为 Any CPU 会产生类似的结果,要求我也安装了 .NET Desktop Runtime x64 版本。

【问题讨论】:

    标签: .net-6.0 .net-runtime


    【解决方案1】:

    构建过程生成:

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

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

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

    更好的方法是使用发布功能,该功能可以将所有必要的文件正确捆绑到单个 EXE 中进行分发。

    【讨论】:

      【解决方案2】:

      还要确保为 WPF 安装“.NET Desktop Runtime”而不是“.NET Runtime”

      【讨论】:

        猜你喜欢
        • 2022-08-10
        • 2022-01-04
        • 2013-01-22
        • 2022-10-15
        • 2016-06-26
        • 1970-01-01
        • 1970-01-01
        • 2020-08-13
        • 1970-01-01
        相关资源
        最近更新 更多