clockworklabs / clockworklabs/SpacetimeDB

Docs - Publishing with missing project file on Windows fails to return MSB1003 or useful error if multiple .NET SDKs are installed.

Open
#3,112 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
25.2k
Forks
1.1k
Avg merge
2d 7h
Merged PRs (30d)
46

Description

From within a windows terminal, running spacetime publish foo when the working directory does not contain a project file, and the system has more than 1 .NET SDK version installed, the terminal will return an error message that does not provide the user a useful path forward.

Expected message ( As seen when only 1 .NET SDK version is installed):
MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file. Error: command ["dotnet", "publish", "-c", "Release", "-v", "quiet"] exited with code 1

Returned message:
Error: .NET SDK 8.0 is required, but found {version}. If you have multiple versions of .NET SDK installed, configure your project using https://learn.microsoft.com/en-us/dotnet/core/tools/global-json.

Notes:
Because no user projects are in the directory when the command is run, the error message returned does not provide the user a path forward to resolve the problem.

To check the versions of .NET SDKs installed on the current system, run the following in a PowerShell terminal:
dotnet --list-sdks

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing spacetime publish foo from a Windows terminal in a directory without a project file, with multiple .NET SDKs installed, and compare it with the single-SDK output. Trace the publish command's error handling; done means the missing-project case returns MSB1003 or another useful path forward instead of only the SDK-version message.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.