UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法

书接上文《UE5.6 C++项目升级UE5.7时生成sln失败的解决办法》用Rider 打开项目以后显示游戏项目和引擎项目都加载失败,以下是解决办法

错误截图

Log内容

UnrealBuildTool failed with exit code 0x00000006

bash 复制代码
17:32:31.841: dotnet.exe "G:\Unreal Engine\UE_5.7\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -ProjectFiles -Rider -Automated -Minimize -NoMutex -Log=C:\Users\XXXXX\AppData\Local\JetBrains\Rider2025.3\log\UBT_GPF.txt -Platforms=Win64 -TargetTypes=Editor -TargetConfigurations=Development D:\UE5-CPP-RPGGame\RPGGame\RPGGame.uproject
17:32:32.197: Log file: C:\Users\XXXXX\AppData\Local\JetBrains\Rider2025.3\log\UBT_GPF.txt
17:32:32.365: Generating Rider project files:
17:32:32.663: Writing project files...
17:32:32.663: Warning: [Upgrade]
17:32:32.663: Warning: [Upgrade] Using backward-compatible build settings. The latest version of UE sets the following values by default, which may require code changes:
17:32:32.663: Warning: [Upgrade]     WindowsPlatform.bStrictInlineConformance = true        => Updates MSVC inline conformance (Remove unreferenced COMDAT) to true (Previously: false).
17:32:32.663: Warning: [Upgrade]     UndefinedIdentifierWarningLevel = WarningLevel.Error   => Enables compile-time validation of undefined identifiers in conditional expressions. (Previously: Off).
17:32:32.663: Warning: [Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V6;' in RPGGameEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
17:32:32.663: Warning: [Upgrade]
17:32:32.663: Warning: [Upgrade]
17:32:32.663: Warning: [Upgrade] Using backward-compatible include order. The latest version of UE has changed the order of includes, which may require code changes. The current setting is:
17:32:32.663: Warning: [Upgrade]     IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_6
17:32:32.663: Warning: [Upgrade] Suppress this message by setting 'IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_7;' in RPGGameEditor.Target.cs.
17:32:32.663: Warning: [Upgrade] Alternatively you can set this to 'EngineIncludeOrderVersion.Latest' to always use the latest include order. This will potentially cause compile errors when integrating new versions of the engine.
17:32:32.663: Warning: [Upgrade]
17:32:32.772: Wrote partial receipt to D:\UE5-CPP-RPGGame\RPGGame\Binaries\Win64\RPGGameEditor.target
17:32:32.772: Exception while generating include data for Target:RPGGameEditor, Platform: Win64, Configuration: Development
17:32:32.772: RPGGameEditor modifies the values of properties: [ UndefinedIdentifierWarningLevel: Off != Error ]. This is not allowed, as RPGGameEditor has build products in common with UnrealEditor.
17:32:32.772: Remove the modified setting, change RPGGameEditor to use a unique build environment by setting 'BuildEnvironment = TargetBuildEnvironment.Unique;' in the RPGGameEditorTarget constructor, or set bOverrideBuildEnvironment = true to force this setting on.
17:32:40.330: Writing project files... 100%
17:32:40.381: Generating QueryTargets data for editor...
17:32:40.383: Compiling Rules Assemblies 100%
17:32:40.392: Writing Query Target Info 100%
17:32:40.392: Generating QueryTargets data for editor took 0.01s
17:32:40.395: Result: Succeeded
17:32:40.395: Total execution time: 8.44 seconds

原始RPGGameTarget.cs

csharp 复制代码
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class RPGGameTarget : TargetRules
{
	public RPGGameTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V5;
		IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_6;
		ExtraModuleNames.Add("RPGGame");
	}
}

原始RPGGameEditorTarget.cs

csharp 复制代码
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class RPGGameEditorTarget : TargetRules
{
	public RPGGameEditorTarget( TargetInfo Target) : base(Target)
	{
		Type = TargetType.Editor;
		DefaultBuildSettings = BuildSettingsVersion.V5;
		IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_6;
		ExtraModuleNames.Add("RPGGame");
	}
}

修改后的RPGGameTarget.cs

csharp 复制代码
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class RPGGameTarget : TargetRules
{
	public RPGGameTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.Latest;
		IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
		ExtraModuleNames.Add("RPGGame");
	}
}

修改后的RPGGameEditorTarget.cs

csharp 复制代码
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;
using System.Collections.Generic;

public class RPGGameEditorTarget : TargetRules
{
	public RPGGameEditorTarget( TargetInfo Target) : base(Target)
	{
		Type = TargetType.Editor;
		DefaultBuildSettings = BuildSettingsVersion.Latest;
		IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
		ExtraModuleNames.Add("RPGGame");
	}
}
相关推荐
天人合一peng2 小时前
unity 生成标记根据背景色标记变色
unity·游戏引擎
天人合一peng6 小时前
unity 生成标记根据背景色变色为明显的颜色
unity·游戏引擎
魔士于安7 小时前
Unity 超市总动员 超市收银台 超市货架 超市购物手推车 超市常见商品
游戏·unity·游戏引擎·贴图·模型
CandyU27 小时前
Unity —— 数据持久化
unity·游戏引擎
zh路西法7 小时前
【Unity实现Oneshot胶卷显形】游戏窗口化与Win32API的使用
游戏·unity·游戏引擎
迪捷软件8 小时前
显控系统虚拟仿真的工程化路径
游戏引擎·cocos2d
Swift社区12 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
mxwin1 天前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader
晚枫歌F1 天前
三层时间轮的实现
网络·unity·游戏引擎
努力长头发的程序猿1 天前
Unity使用ScriptableObject序列化资源
unity·游戏引擎