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

VS2019与VS2022共存时编译Unity HoloLens项目误调2022工具如何解决

问题原因

该问题由MSBuild全局工具链解析逻辑导致,和打开解决方案使用的VS版本无直接绑定关系。Unity为HoloLens生成的UWP解决方案默认未硬编码指定编译工具集版本,当设备同时安装多版本Visual Studio时,全局默认配置会优先指向已安装的最高版本VS对应的MSBuild、C/C++编译器、链接器路径,即便手动通过VS2019启动解决方案,编译阶段的工具路径仍会被全局配置覆写为VS2022的安装路径,最终因工具版本不匹配编译失败。

修复方案

以下方案均为单解决方案级别的局部配置,不会影响其他版本VS的正常使用,按需选择即可:

  • 固定项目平台工具集版本
    用VS2019打开解决方案后,右键解决方案节点选择「重定解决方案目标」,在弹窗中将平台工具集明确指定为Visual Studio 2019 (v142)。确认后逐个选中解决方案下的所有项目(包括Il2Cpp生成的底层项目、HoloLens主应用项目),打开项目属性页,在「配置属性-常规」栏将平台工具集同样设置为v142,取消勾选“从父级或项目默认设置继承”选项后保存配置。
  • 通过Directory.Build.props强制覆写工具路径
    进入解决方案根目录,新建名为Directory.Build.props的配置文件,写入如下内容(注意将VS2019安装路径、VCTools版本替换为本机实际安装的对应值):
<Project>
  <PropertyGroup>
    <VCToolsVersion>14.29.30133</VCToolsVersion>
    <VSInstallDir>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\</VSInstallDir>
    <MSBuildExtensionsPath>$(VSInstallDir)MSBuild\</MSBuildExtensionsPath>
    <VCToolsInstallDir>$(VSInstallDir)VC\Tools\MSVC\$(VCToolsVersion)\</VCToolsInstallDir>
  </PropertyGroup>
</Project>

保存后重启VS2019再执行编译,该配置会被目录下所有项目自动加载,强制覆写全局的高版本工具路径配置。

  • 通过VS2019专属开发者命令行启动环境
    不要直接从开始菜单打开VS2019加载解决方案,先启动「x64 Native Tools Command Prompt for VS 2019」,该命令行会提前初始化VS2019专属的所有环境变量,覆盖全局的高版本路径配置,在命令行中执行devenv 你的解决方案完整路径.sln启动VS2019,此时编译会默认调用VS2019自带的完整工具链。

注意:不要修改VS2022的全局MSBuild配置,否则会导致VS2022编译其他项目时出现工具链匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:12:12