Microsoft.UI.Xaml.dll 是 WinUI 3 的 XAML 运行时实现,随 Windows App SDK(旧称 Project Reunion)以框架包(Framework Package)形式分发。它取代了 UWP 时代的 Windows.UI.Xaml.dll,使 XAML 控件与渲染能力不再受操作系统版本约束,并可被 WPF、WinForms、MFC 等桌面宿主通过 XAML Islands 与 HWND 互操作方式调用。
标记解析与对象树构建:解析 .xaml 源文件或编译后的 XBF 二进制标记,将元素映射为运行时实例,维护逻辑树与可视化树。
依赖属性与绑定引擎:实现 DependencyProperty 元数据、属性值优先级解析、Binding 与 {x:Bind} 编译期绑定、INotifyPropertyChanged 变更通知。
控件与主题资源:提供 NavigationView、ListView、InfoBar、Expander 等 Fluent Design 控件,以及 Colors、Typography、Acrylic/Mica 材质相关资源字典。
布局与渲染管线:执行 Measure/Arrange 布局、容器虚拟化与元素合成,并与 DirectComposition、DirectWrite 协作完成呈现与文字排版。
样式与动画:承载 Style、ControlTemplate、VisualStateManager、Storyboard 及组合动画。
输入与无障碍:负责命中测试、指针与键盘事件、焦点管理以及 UI Automation 提供程序。
进程无法启动,报 0xc000007b、STATUS_DLL_NOT_FOUND 或 找不到指定的模块,亦可能出现入口点错误。
抛出 XamlParseException、TypeLoadException,控件类型无法解析,页面加载即中断。
窗口空白或黑屏、呈现线程崩溃、动画与主题资源失效。
设计期异常:Visual Studio 设计器与 Blend 无法加载 XAML,智能提示与预览失效。
部署失败:目标机未安装对应版本的 Windows App SDK Runtime,或框架包版本与编译版本不匹配。
诱因通常包括:未安装或版本错配的 Windows App SDK Runtime;单文件发布或 IL 裁剪误删依赖程序集;应用目录被放入同名但架构不符的文件;x86、x64、ARM64 架构不一致;旧版 Windows 未启用必要的运行时更新。
排查可通过事件查看器读取模块加载失败记录,使用 Dependencies 工具分析导入表,执行 sfc /scannow 与 DISM /RestoreHealth 修复系统组件,重新安装 Windows App SDK Runtime,或在项目文件中启用 WindowsAppSDKSelfContained 实现自包含部署。