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");
	}
}
相关推荐
AA陈超10 小时前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云10 小时前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
jtymyxmz16 小时前
《Unity Shader》7.2.3 实践 在切线空间下计算
unity·游戏引擎
AA陈超18 小时前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超20 小时前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra
电子云与长程纠缠1 天前
UE5打光技巧02(新手向)
ue5
AA陈超1 天前
UE5笔记:GetWorld()->SpawnActorDeferred()
c++·笔记·学习·ue5·虚幻引擎
AA陈超2 天前
ASC学习笔记0025:移除所有属性集
c++·笔记·学习·ue5·虚幻引擎
WarPigs2 天前
Unity红点系统笔记
unity·游戏引擎