You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI 3 ClickOnce发布报错:无法加载Microsoft.ui.xaml.dll

WinUI 3 ClickOnce部署缺失Microsoft.ui.xaml.dll问题解决

问题本质

Microsoft.ui.xaml.dll是Windows App SDK运行时的核心组件,不属于.NET Core 6.0框架范畴。目标机器未安装对应版本的Windows App SDK运行时,就会出现加载失败的崩溃问题。

确认依赖项

  • 查看项目引用:在Visual Studio项目管理器中,展开「依赖项」→「框架」,可看到Microsoft.WindowsAppSDK的具体版本,这就是你需要的依赖版本
  • 系统版本要求:WinUI 3应用仅支持Windows 10 1809及以上版本,目标机器需满足此系统要求

解决部署依赖的具体方案

方案1:通过ClickOnce先决条件自动安装运行时

  1. 右键项目→属性→发布→配置文件设置→先决条件
  2. 在弹出的对话框中,勾选对应版本的Windows App SDK Runtime,选择「从与我的应用相同的位置下载」
  3. 重新发布后,ClickOnce安装程序会在安装应用前自动部署Windows App SDK运行时

方案2:手动添加运行时安装包到ClickOnce

如果先决条件列表中没有Windows App SDK选项,可手动操作:

  • 下载对应版本的WindowsAppRuntimeInstall.exe运行时安装包
  • 将安装包放入项目目录,设置文件属性为「复制到输出目录:始终复制」
  • 打开项目的PublishProfile.pubxml文件,添加以下配置,让安装包被包含进ClickOnce发布包:
<PublishFile Include="WindowsAppRuntimeInstall.exe">
  <Visible>False</Visible>
  <Group>Redist</Group>
  <TargetPath></TargetPath>
  <PublishState>Include</PublishState>
  <IncludeHash>True</IncludeHash>
</PublishFile>
  • 在应用启动逻辑中添加检测逻辑:若未检测到Windows App SDK运行时,调用WindowsAppRuntimeInstall.exe /quiet静默安装

方案3:框架依赖模式的正确配置

若使用框架依赖部署,除了.NET Core 6.0运行时,还需配置:

  • 在发布先决条件中同时勾选.NET Core 6.0 Desktop Runtime和对应版本的Windows App SDK Runtime
  • 选择「从微软下载中心下载」,让ClickOnce自动引导用户下载安装所需依赖

内容的提问来源于stack exchange,提问作者Josh Bula

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:12:38