Godot C# can't build project on Linux (SDK Resolver Failure)

Godot Version

v4.3.stable.mono.official [77dcf97d8]

Question

I have just installed Godot on my Linux machine (Opensuse Tumbleweed).
When I try to run my project with a .net solution inside, I get a popup saying failed to build project.

I’ve installed these Microsoft packages:

The whole error message:

MSB4242: SDK Resolver Failure: "The SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" failed while attempting to resolve the SDK "Godot.NET.Sdk/4.3.0". Exception: "System.InvalidOperationException: No workload set information found in: /usr/share/dotnet/sdk-manifests/8.0.100/workloadsets/8.0.406-baseline.25072.9
   at Microsoft.NET.Sdk.WorkloadManifestReader.WorkloadSet.FromWorkloadSetFolder(String path, String workloadSetVersion, SdkFeatureBand defaultFeatureBand)
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.<GetAvailableWorkloadSetsInternal>g__AddWorkloadSetsForFeatureBand|28_0(Dictionary`2 availableWorkloadSets, String featureBandDirectory)
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.GetAvailableWorkloadSetsInternal(Nullable`1 workloadSetFeatureBand)
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider.RefreshWorkloadManifests()
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider..ctor(String sdkRootPath, String sdkVersion, Func`2 getEnvironmentVariable, String userProfileDir, String globalJsonPath, String workloadSetVersion)
   at Microsoft.NET.Sdk.WorkloadManifestReader.SdkDirectoryWorkloadManifestProvider..ctor(String sdkRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
   at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.CachingWorkloadResolver.Resolve(String sdkReferenceName, String dotnetRootPath, String sdkVersion, String userProfileDir, String globalJsonPath)
   at Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver.WorkloadSdkResolver.Resolve(SdkReference sdkReference, SdkResolverContext resolverContext, SdkResultFactory factory)
   at Microsoft.Build.BackEnd.SdkResolution.SdkResolverService.TryResolveSdkUsingSpecifiedResolvers(IReadOnlyList`1 resolvers, Int32 submissionId, SdkReference sdk, LoggingContext loggingContext, ElementLocation sdkReferenceLocation, String solutionPath, String projectPath, Boolean interactive, Boolean isRunningInVisualStudio, SdkResult& sdkResult, IEnumerable`1& errors, IEnumerable`1& warnings)"" /home/nick/Godot Projects/test-project/test-project.csproj(0,0)

I believe Godot only supports dotnet 8 right now, try to install dotnet 8 sdk instead and see if that helps.

1 Like

You are correct, I thought I only had dotnet 9 on my Windows computer, but I am wrong. I have both dotnet 9 and 8 on my Windows computer.

I installed dotnet 9 on my linux machine and it works.