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

更新Visual Studio与WinUI至最新版本后,全信任UWP应用加载System.Runtime.InteropServices.WindowsRuntime组件失败求助

解决WinUI 2.6升级后System.Runtime.InteropServices.WindowsRuntime版本不匹配问题

我之前升级WinUI版本时也碰到过几乎一模一样的版本绑定问题,给你几个经过验证的解决步骤:

1. 添加手动绑定重定向

这个错误本质是程序集引用的版本和实际找到的版本不匹配,我们可以在项目的app.config文件里添加绑定重定向,让运行时把对4.0.3.0的请求指向你已安装的4.0.1版本:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Runtime.InteropServices.WindowsRuntime"
                          publicKeyToken="b03f5f7f11d50a3a"
                          culture="neutral" />
        <bindingRedirect oldVersion="4.0.3.0"
                         newVersion="4.0.1.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

如果你的项目没有app.config,直接新建一个放在项目根目录即可。

2. 彻底清理项目并重建缓存

有时候VS的缓存或者旧的编译文件会导致依赖混乱,按以下步骤操作:

  • 关闭Visual Studio,手动删除项目下的bin和obj文件夹
  • 打开VS,依次点击工具 > NuGet包管理器 > 管理解决方案的NuGet包,切换到设置选项卡,点击清除所有NuGet缓存
  • 或者用命令行执行:dotnet nuget locals all --clear
  • 回到解决方案,右键选择还原NuGet包,然后重新生成整个解决方案

3. 替换为Microsoft.Windows.SDK.Contracts包

单独的System.Runtime.InteropServices.WindowsRuntime包现在已经逐渐被Microsoft.Windows.SDK.Contracts替代,这个包包含了所有必要的Windows Runtime互操作组件,更适配WinUI项目:

  • 先卸载当前安装的System.Runtime.InteropServices.WindowsRuntime包
  • 搜索并安装Microsoft.Windows.SDK.Contracts包,选择和你的项目目标Windows SDK版本匹配的版本(比如如果目标是Windows 10 2004,就选10.0.19041.x版本)

4. 检查项目的Windows SDK版本

WinUI 2.6对项目的目标SDK版本有要求(至少Windows 10 1809,版本号17763),确认你的项目设置:

  • 右键项目 > 属性 > 应用选项卡
  • 确保目标版本和最小版本都设置为WinUI 2.6支持的SDK版本,建议设置为最新的稳定版

按照上面的步骤逐一排查,应该能解决这个版本不匹配的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:12:45