diff --git a/Source/Editor/Cooker/CookingData.h b/Source/Editor/Cooker/CookingData.h index 06e48cc95..8fe930335 100644 --- a/Source/Editor/Cooker/CookingData.h +++ b/Source/Editor/Cooker/CookingData.h @@ -19,6 +19,8 @@ class PlatformTools; #define GAME_BUILD_DOTNET_VER TEXT("") #endif +#define COOKER_MIN_DOTNET_RUNTIME_VERSION 8 + /// /// Game building options. Used as flags. /// diff --git a/Source/Editor/Cooker/Steps/DeployDataStep.cpp b/Source/Editor/Cooker/Steps/DeployDataStep.cpp index ff22247ef..a6f6c40b2 100644 --- a/Source/Editor/Cooker/Steps/DeployDataStep.cpp +++ b/Source/Editor/Cooker/Steps/DeployDataStep.cpp @@ -117,7 +117,11 @@ bool DeployDataStep::Perform(CookingData& data) for (String& version : versions) { version = String(StringUtils::GetFileName(version)); - if (!version.StartsWith(TEXT("8."))) // Check for major part of 8.0 + const int32 dot = version.Find('.'); + int majorVersion = 0; + if (dot != -1) + StringUtils::Parse(version.Substring(0, dot).Get(), &majorVersion); + if (majorVersion >= COOKER_MIN_DOTNET_RUNTIME_VERSION) // Check for major part of 8.0 version.Clear(); } Sorting::QuickSort(versions); diff --git a/Source/Engine/Core/Collections/OrderedDictionary.cs b/Source/Engine/Core/Collections/OrderedDictionary.cs index ab3467d73..aa2fce31b 100644 --- a/Source/Engine/Core/Collections/OrderedDictionary.cs +++ b/Source/Engine/Core/Collections/OrderedDictionary.cs @@ -1,5 +1,7 @@ // Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. +#if !NET9_0_OR_GREATER + using System; using System.Collections; using System.Collections.Generic; @@ -674,3 +676,5 @@ namespace FlaxEngine.Collections public object Current => Entry; } } + +#endif diff --git a/Source/Engine/Scripting/Runtime/DotNet.cpp b/Source/Engine/Scripting/Runtime/DotNet.cpp index 38df5c16f..ddafab614 100644 --- a/Source/Engine/Scripting/Runtime/DotNet.cpp +++ b/Source/Engine/Scripting/Runtime/DotNet.cpp @@ -1758,7 +1758,7 @@ bool InitHostfxr() // Warn user about missing .Net #if PLATFORM_DESKTOP - Platform::OpenUrl(TEXT("https://dotnet.microsoft.com/en-us/download/dotnet/8.0")); + Platform::OpenUrl(TEXT("https://dotnet.microsoft.com/en-us/download/dotnet")); #endif #if USE_EDITOR LOG(Fatal, "Missing .NET 8 or later SDK installation required to run Flax Editor."); diff --git a/Source/Tools/Flax.Build/Build/DotNet/DotNetSdk.cs b/Source/Tools/Flax.Build/Build/DotNet/DotNetSdk.cs index 0e200ea39..093b2b39e 100644 --- a/Source/Tools/Flax.Build/Build/DotNet/DotNetSdk.cs +++ b/Source/Tools/Flax.Build/Build/DotNet/DotNetSdk.cs @@ -135,7 +135,7 @@ namespace Flax.Build /// /// The maximum SDK version. /// - public static Version MaximumVersion => new Version(8, 0); + public static Version MaximumVersion => new Version(9, 0); /// public override TargetPlatform[] Platforms @@ -166,10 +166,11 @@ namespace Flax.Build /// public string CSharpLanguageVersion => Version.Major switch { - 8 => "12.0", - 7 => "11.0", - 6 => "10.0", - 5 => "9.0", + _ when Version.Major >= 9 => "13.0", + _ when Version.Major >= 8 => "12.0", + _ when Version.Major >= 7 => "11.0", + _ when Version.Major >= 6 => "10.0", + _ when Version.Major >= 5 => "9.0", _ => "7.3", };