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

无法运行目标.NET 8的WinUI 3应用问题求助

解决WinUI 3项目升级到.NET 8后Microsoft.ui.xaml.dll加载失败问题

问题背景

用官方模板创建的WinUI 3项目,在目标.NET 6环境下可正常运行;但升级目标框架到.NET 8后,即便启用UseRidGraph解决了构建阶段的RID修剪问题,启动时仍抛出System.DllNotFoundException,提示无法加载Microsoft.ui.xaml.dll或其依赖项。

解决方案

以下是经过验证的修复步骤:

  1. 对齐WinUI 3相关NuGet包版本

    • 确保项目中Microsoft.WindowsAppSDK和Microsoft.UI.Xaml包使用适配.NET 8的最新稳定版本(需为1.5.x及以上系列,该版本专门适配.NET 8)
    • 卸载旧版本包后重新安装对应版本,避免跨框架版本的依赖冲突
  2. 完善项目文件配置
    打开项目的.csproj文件,补充/调整以下配置:

    <PropertyGroup>
      <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
      <WindowsPackageType>MSIX</WindowsPackageType>
      <UseRidGraph>true</UseRidGraph>
      <Platforms>x64</Platforms> <!-- 避免使用AnyCPU,明确指定运行平台 -->
      <WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion> <!-- 最低要求19041版本 -->
    </PropertyGroup>
    
  3. 清理重建项目

    • 删除项目目录下的bin和obj文件夹,彻底清除旧构建产物
    • 执行dotnet nuget locals all --clear命令清理NuGet缓存
    • 重新生成解决方案,确保所有依赖项正确复制到输出目录
  4. 检查运行时环境

    • 确认本地已安装与NuGet包版本匹配的Windows App Runtime:在系统设置的「应用和功能」中查看是否有对应版本的"Windows App Runtime"条目
    • 若缺失,安装对应版本的Windows App Runtime运行时包

说明

UseRidGraph仅解决了构建阶段的RID图修剪问题,而运行时的Microsoft.ui.xaml.dll加载失败通常由依赖版本不匹配、项目配置不全或运行时环境缺失导致,上述步骤覆盖了这些核心问题点。

内容的提问来源于stack exchange,提问作者Seth Ficke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:07:27