dotnet WinUI 3 修复非打包应用运行提示 Microsoft.ui.xaml.dll 找不到

详细的错误信息如下

System.DllNotFoundException:“Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: 找不到指定的模块。 (0x8007007E)”

大部分情况下的错误都在如以下代码的 XamlCheckProcessRequirements 里面

        [global::System.Runtime.InteropServices.DllImport("Microsoft.ui.xaml.dll")]
        [global::System.Runtime.InteropServices.DefaultDllImportSearchPaths(global::System.Runtime.InteropServices.DllImportSearchPath.SafeDirectories)]
        private static extern void XamlCheckProcessRequirements();

对应的英文错误信息如下

Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies: The specified module could not be found. (0x8007007E)

此问题是因为没有安装好 Windows App Runtime 环境,导致 WinUI 3 缺失环境而运行失败,或者是因为没有将 WinUI 3 使用自包含方式发布而找不到环境

对应以上原因就有两个修复方法:

方法一是给安装上环境,安装方法如下

进入到 https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads 下载页

下载安装 Windows App Runtime 安装包 WindowsAppRuntimeInstall.exe 文件修复此问题

方法二是构建为自包含方式,在 csproj 里面添加如下代码即可

   <WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>

详细请参考 WinUI 3 修复非打包应用运行提示缺少 Windows App Runtime 环境

此问题已经报告给官方,详细请看 https://github.com/microsoft/WindowsAppSDK/issues/2443

posted @   lindexi  阅读(347)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2021-08-27 dotnet OpenXML 读取 PPT 形状边框定义在 Style 的颜色画刷
2018-08-27 WPF 使用 SharpDX
2018-08-27 WPF 使用 SharpDX
2018-08-27 C# 从零开始写 SharpDx 应用 初始化dx修改颜色
2018-08-27 C# 从零开始写 SharpDx 应用 初始化dx修改颜色
2018-08-27 C# powshell 调用
2018-08-27 .net remoting 抛出异常
点击右上角即可分享
微信分享提示