summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaul Santos <raulsntos@gmail.com>2023-10-14 14:07:45 +0200
committerRaul Santos <raulsntos@gmail.com>2023-10-14 14:21:48 +0200
commita186343abd0df588c41a3761ecd224654e70323b (patch)
tree2111d0059a51c98f6033b374571a8696cd82cc17
parenta574c0296b38d5f786f249b12e6251e562c528cc (diff)
downloadredot-engine-a186343abd0df588c41a3761ecd224654e70323b.tar.gz
C#: Fallback to the latest SDK
-rw-r--r--modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs11
-rw-r--r--modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs4
2 files changed, 10 insertions, 5 deletions
diff --git a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs
index 7b1d5c228a..1d17f3d4f5 100644
--- a/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs
+++ b/modules/mono/editor/GodotTools/GodotTools.ProjectEditor/ProjectUtils.cs
@@ -1,5 +1,7 @@
using System;
+using System.Linq;
using Microsoft.Build.Construction;
+using Microsoft.Build.Locator;
namespace GodotTools.ProjectEditor
{
@@ -19,15 +21,18 @@ namespace GodotTools.ProjectEditor
public static class ProjectUtils
{
- public static void MSBuildLocatorRegisterDefaults(out Version version, out string path)
+ public static void MSBuildLocatorRegisterLatest(out Version version, out string path)
{
- var instance = Microsoft.Build.Locator.MSBuildLocator.RegisterDefaults();
+ var instance = MSBuildLocator.QueryVisualStudioInstances()
+ .OrderByDescending(x => x.Version)
+ .First();
+ MSBuildLocator.RegisterInstance(instance);
version = instance.Version;
path = instance.MSBuildPath;
}
public static void MSBuildLocatorRegisterMSBuildPath(string msbuildPath)
- => Microsoft.Build.Locator.MSBuildLocator.RegisterMSBuildPath(msbuildPath);
+ => MSBuildLocator.RegisterMSBuildPath(msbuildPath);
public static MSBuildProject Open(string path)
{
diff --git a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs b/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs
index a00c812c79..413f6f0029 100644
--- a/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs
+++ b/modules/mono/editor/GodotTools/GodotTools/GodotSharpEditor.cs
@@ -456,7 +456,7 @@ namespace GodotTools
var dotNetSdkSearchVersion = Environment.Version;
// First we try to find the .NET Sdk ourselves to make sure we get the
- // correct version first (`RegisterDefaults` always picks the latest).
+ // correct version first, otherwise pick the latest.
if (DotNetFinder.TryFindDotNetSdk(dotNetSdkSearchVersion, out var sdkVersion, out string sdkPath))
{
if (Godot.OS.IsStdOutVerbose())
@@ -468,7 +468,7 @@ namespace GodotTools
{
try
{
- ProjectUtils.MSBuildLocatorRegisterDefaults(out sdkVersion, out sdkPath);
+ ProjectUtils.MSBuildLocatorRegisterLatest(out sdkVersion, out sdkPath);
if (Godot.OS.IsStdOutVerbose())
Console.WriteLine($"Found .NET Sdk version '{sdkVersion}': {sdkPath}");
}