Error Knowledge Base .NET MSB1003

MSB1003: Specify a project or solution file

MSBuild was invoked without a project or solution argument in a directory that contains no buildable project or solution.

What .NET Is Rejecting

MSBuild was invoked without a project or solution argument in a directory that contains no buildable project or solution.

Fix the command

Run from the folder containing the .sln or .csproj, or pass an explicit path such as dotnet build path/to/app.csproj.

In CI, print pwd and list files before running build.

If needed, create a project with dotnet new and use the appropriate template.

Validation

Re-run the failing command and confirm the original code/message is gone, and confirm expected artifacts or outputs exist (packages restored, build/publish succeeds).

Typical Output

MSBUILD : error MSB1003: Specify a project or solution file. The current working directory does not contain a project or solution file.

Why the Command Was Rejected

Usually this comes down to the command ran from the wrong working directory, the repo checkout is incomplete or you are in a folder without a project file, or a script changes directories before invoking build.

Re-run the Minimal Correct Command

dotnet build succeeds without MSB1003.

Outputs appear under bin/ and obj/.

Mechanism

This is the part worth understanding if the quick fix did not hold. It explains what .NET is trying to do at the moment the error appears.

dotnet build forwards to MSBuild.

If no .sln or .csproj is specified, MSBuild searches the working directory, if none is found, MSB1003 is raised.

Avoid Command and Config Drift

To prevent this, avoid relying on the implicit working directory, pass explicit project or solution paths, and centralize build commands in a script that sets the correct paths.

Need help or found a mistake? Contact RepoFlow support for questions.

Join our mailing list