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");
	}
}
相关推荐
爱搞虚幻的阿恺3 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.3 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
weixin_424294673 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames3 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
wy3258643643 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
zhangzhangkeji3 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
星和月3 天前
Untiy使用说明
c#·游戏引擎
妙为3 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
小菱形_3 天前
【Unity】TimeLine
unity·游戏引擎
weixin_424294674 天前
Unity 使用Steamworks.NET
unity·游戏引擎