clockworklabs/SpacetimeDB · error · anyhow::Error

dotnet not found in PATH. Please install .NET SDK 8.0 or 10.

Error message

dotnet not found in PATH. Please install .NET SDK 8.0 or 10.0.

What it means

Error "dotnet not found in PATH. Please install .NET SDK 8.0 or 10.0." thrown in clockworklabs/SpacetimeDB.

Source

Thrown at crates/cli/src/tasks/csharp.rs:208

        };
    }

    let native_aot_flag = native_aot;

    let project_global_json = find_global_json(project_path);
    let cwd = std::env::current_dir()?;
    let cwd_global_json = find_global_json(&cwd);
    let dotnet_version_result = if project_global_json.is_some() {
        Some(dotnet!("--version").read())
    } else if cwd_global_json.is_some() {
        Some(duct::cmd!("dotnet", "--version").read())
    } else {
        None
    };
    let dotnet_version_str = match dotnet_version_result {
        Some(Ok(v)) => Some(v),
        Some(Err(error)) if error.kind() == std::io::ErrorKind::NotFound => {
            anyhow::bail!("dotnet not found in PATH. Please install .NET SDK 8.0 or 10.0.")
        }
        Some(Err(error)) => anyhow::bail!("{error}"),
        None => None,
    };

    // Resolution order:
    //   1. --dotnet-version CLI flag (explicit user override)
    //   2. global.json-selected SDK, if one applies to the project or current directory
    //   3. Single <TargetFramework> in the project's .csproj
    //   4. .NET 10 default for missing or multi-target project context
    let csproj_tfms = read_tfms_from_csproj(project_path);
    let dotnet_major = dotnet_version_override
        .or_else(|| dotnet_version_str.as_deref().and_then(parse_major_version))
        .or_else(|| csproj_tfms.as_ref().and_then(CsprojTargetFrameworks::single_major))
        .or(Some(10));

    // Determine the build path based on SDK version and --native-aot flag.
    let build_path = match (dotnet_major, native_aot_flag) {

View on GitHub (pinned to 524b4487d9)

When it happens

Trigger: Thrown at crates/cli/src/tasks/csharp.rs:208 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16). Data as JSON: /api/errors/f138787cb1a5bb58. Report an issue: GitHub.