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

VS2019构建ARM64 UWP项目报Microsoft.VCLibs MSB3779错误如何解决

问题场景
  • 开发环境:Windows桌面端 + Visual Studio 2019(版本号16.11.15)
  • 编译目标:为HoloLens 2等ARM架构设备构建UWP应用、DLL插件
  • 故障表现:x64架构下项目可正常构建,切换到ARM64编译时触发Microsoft.VCLibs依赖报错,错误信息如下:

错误 MSB3779:当前正在构建的项目处理器架构为“ARM”,不受所引用的SDK“Microsoft.VCLibs, Version=14.0”支持。请考虑更改项目的目标处理器架构(在Visual Studio中可通过Configuration Manager(配置管理器)完成设置),选择该SDK支持的架构:“x86, x64”。

  • 已尝试无效操作:无法在解决方案可视化界面找到移除该依赖的入口;手动下载安装Microsoft.VCLibs.arm64.14.00.Desktop.appx包时,因本地设备为x64架构,提示无法完成安装。

MSB3779报错界面截图

解决方案

首先纠正操作误区:带Desktop后缀的VCLibs安装包是给桌面桥接应用准备的,且ARM64架构的appx包无法直接安装在x64架构的开发机上,不需要手动安装这类包到本地设备,问题根源是项目的VCLibs引用配置错误,没有正确匹配UWP ARM64编译的依赖规则。
按以下步骤操作即可修复:

1. 补全VS的ARM64 C++ UWP组件

  • 打开Visual Studio Installer,找到对应VS2019实例点击「修改」
  • 勾选「使用C的通用Windows平台开发」工作负载,在右侧安装详情栏确认勾选*ARM64的Visual C运行时*、适用于ARM64的C++通用Windows平台工具两个组件,完成安装后重启Visual Studio。

2. 修正项目文件中的VCLibs引用配置

可视化界面找不到依赖移除入口时,直接编辑项目配置文件修改:

  1. 右键解决方案资源管理器中的目标项目,选择「卸载项目」,再次右键选择「编辑 你的项目名.vcxproj」
  2. 在打开的项目文件中搜索所有Microsoft.VCLibs相关的SDK引用节点,找到类似下方的错误配置(这类配置手动限定了支持的架构为x86、x64,或者引用了桌面版VCLibs):
<SDKReference Include="Microsoft.VCLibs, Version=14.0">
  <TargetedSDKArchitecture>x86;x64</TargetedSDKArchitecture>
</SDKReference>
  1. 删除上述错误的引用节点,替换为无架构限制的标准UWP VCLibs引用,该配置会在编译时自动匹配当前选择的目标架构:
<SDKReference Include="Microsoft.VCLibs, Version=14.0" />
  1. 保存vcxproj文件修改,右键项目选择「重新加载项目」。

3. 清理缓存后重新编译

  • 关闭Visual Studio,手动删除项目根目录下的bin、obj文件夹,清除旧的构建缓存
  • 重新打开解决方案,打开配置管理器,确认ARM64平台下对应项目的目标平台设置为ARM64(注意HoloLens 2使用ARM64架构,不要误选32位ARM平台)
  • 重新执行构建即可。

额外排查项

如果完成上述操作后仍然报错:

  • 检查解决方案中所有引用的第三方库、依赖DLL是否提供了ARM64版本,若某依赖仅支持x86/x64,会间接拉取错误架构的VCLibs依赖触发报错
  • 展开项目的「引用」节点,右键查看Microsoft.VCLibs的属性,确认其路径中包含\UAP\字段(代表是UWP版本的VCLibs),如果路径包含\Desktop\字段,直接右键删除该引用,重新添加UWP版本的VCLibs引用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:57:32