VS2022中Unreal 5.6空C++项目编译报错无法构建
VS2022 + Unreal Engine 构建故障修复指南
问题根因
你的VS2022 .NET环境与Unreal构建依赖不兼容,同时Unreal构建工具(UBT/UHT)的路径关联失效——这就是为什么不管是现有项目还是新建空C++项目,都会触发两类错误:NuGet包兼容性警告转错误(.NET Framework vs net8.0)、元数据文件(EpicGames.UHT.dll、UnrealBuildTool.dll等)找不到。
分步修复操作
1. 同步VS2022的.NET组件
- 启动VS安装器,点击「修改」进入「单个组件」标签
- 找到「.NET」分类,同时勾选.NET Framework 4.8开发工具和.NET 8.0 SDK(Unreal需要双环境兼容,不要只安装其中一个)
- 完成安装后重启VS,打开项目的
.csproj文件(Unreal项目找对应解决方案的C#项目文件),确认TargetFrameworks节点配置:<TargetFrameworks>net48;net8.0</TargetFrameworks>
2. 修复Unreal构建工具依赖
- 打开Unreal启动器,找到当前使用的引擎版本,点击「验证」——让启动器自动修复缺失的UBT/UHT组件
- 手动清理项目缓存:删除项目根目录下的
.vs、Binaries、Intermediate文件夹,再重新生成解决方案 - 进入VS的「工具」→「选项」→「NuGet包管理器」→「常规」,点击「清除所有NuGet缓存」,然后重新还原项目包
3. 关闭兼容性警告转错误
- 在项目根目录新建/编辑
Directory.Build.props文件,添加以下配置屏蔽NU1701兼容性警告:<PropertyGroup> <TreatWarningsAsErrors>false</TreatWarningsAsErrors> <MSBuildWarningsAsErrors>$(MSBuildWarningsAsErrors);-NU1701</MSBuildWarningsAsErrors> </PropertyGroup> - Unreal项目额外在
DefaultEngine.ini中添加:[Core.Log] LogUHT=Warning LogUBT=Warning
4. 重置VS2022用户配置
- 以管理员权限打开命令提示符,执行:
devenv /resetuserdata - 重启VS后重新打开Unreal项目
验证方法
先新建一个空白Unreal C++项目,直接尝试构建——如果无错误,再回到原有项目重复验证。
内容的提问来源于stack exchange,提问作者David Ford
相关产品推荐
相关产品推荐

