Quick answer: Match your .csproj TargetFramework to the Godot version: net6.0 for Godot 4.0–4.2, net8.0 for 4.3+. Install the matching .NET SDK if missing.

You open a C# Godot project after upgrading to Godot 4.4. Build fails immediately: “The reference assemblies for .NETFramework, Version=net6.0 were not found”. The project used to build. Something between the .csproj and the installed SDK is mismatched.

Godot Version → .NET Version

Each Godot version ships with a specific GodotSharp NuGet that targets a specific .NET version:

If your .csproj declares net6.0 but the installed GodotSharp expects net8.0, the assembly references resolve incorrectly and builds fail.

The Fix

Open YourProject.csproj and update:

<Project Sdk="Godot.NET.Sdk/4.3.0">
  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <EnableDynamicLoading>true</EnableDynamicLoading>
  </PropertyGroup>
</Project>

Save. From the Godot editor, run Project → Tools → C# → Build. The build should complete cleanly.

Install the Right SDK

If you don’t have .NET 8 installed:

# Verify what’s installed
dotnet --list-sdks

# Linux/macOS via package manager (or download from dotnet.microsoft.com)
# Windows: use the .NET 8 installer

Run again after install. The new SDK should appear; Godot picks it up on next launch.

Multi-Targeting Old and New

If you maintain projects across Godot versions:

<TargetFrameworks>net6.0;net8.0</TargetFrameworks>

The project compiles for both, and Godot picks the one matching its runtime. Less common in practice — usually you just bump TargetFramework when you upgrade Godot.

SDK Version in the Project Tag

The Sdk="Godot.NET.Sdk/4.3.0" attribute on <Project> pins the SDK version. Bump this when upgrading Godot to match. Mismatch here also causes confusing errors about missing types.

Verifying

Run dotnet build YourProject.csproj from terminal. Should succeed with no warnings about TargetFramework. Open the project in Godot, hit Run — the game launches. Open a script with a Godot API call and confirm intellisense works.

“Godot 4.3+ wants .NET 8. Update TargetFramework in your .csproj and install the matching SDK.”

Pin your Godot.NET.Sdk version in source control so different team members can’t accidentally upgrade and break each other’s builds.