Diagnosing MSBuild and NuGet Load Failures in JetBrains Rider
Learn how to diagnose and fix MSBuild project load failures and NuGet restore issues in JetBrains Rider with a step‑by‑step checklist.
16 Jan 2026, 02:59 UTC

Recognizable condition
When opening a solution in JetBrains Rider, the project nodes appear with a yellow warning icon, the output window shows “MSBuild project load failed” or “Unable to restore NuGet packages”, and the editor cannot resolve types that exist on disk.
Cause and diagnostic table
| Symptom | Likely cause |
|---|---|
| MSBuild version mismatch warning in Rider’s Build output | Rider points to a different MSBuild installation than the dotnet CLI |
| NuGet restore fails with “Unable to find package source” | Missing or incorrect packageSource entries in NuGet.config |
| “The current .NET SDK does not support targeting .NET 6.0” | Required .NET SDK version not installed on the machine |
| IDE reports missing references while files exist | Read‑only obj or bin folders or corrupted Rider caches |
Ordered checks
-
Verify the MSBuild version Rider is using
- Open
Settings → Build, Execution, Deployment → Toolset(Windows/Linux) orPreferences → Build, Execution, Deployment → Toolset(macOS). - Note the path shown for
MSBuild version. - In a terminal, run
dotnet --infoand compare the MSBuild path listed underMSBuild installations.
- Open
-
Check NuGet source configuration
- Locate the solution‑level
NuGet.config(usually next to the .sln file) or the global%AppData%\\NuGet\\NuGet.Config(Windows) /~/.nuget/NuGet/NuGet.Config(Linux/macOS). - Ensure it contains at least the official nuget.org source:
<configuration> <packageSources> <add key=\"nuget.org\" value=\"https://api.nuget.org/v3/index.json\" /> </packageSources> </configuration> - Locate the solution‑level
-
Confirm required .NET SDK is installed
- Run
dotnet --list-sdksin the integrated terminal (View → Tool Windows → Terminal). - Look for the SDK version that matches the
<TargetFramework>in your project file (e.g., 6.0.x for net6.0). - If missing, download and install the SDK from .
- Run
-
Inspect folder permissions
- In the solution explorer, right‑click the project →
Open Folder in File Explorer. - Navigate to
objandbindirectories. - Ensure your user account has write permission (right‑click → Properties → Security).
- If the folder is read‑only, uncheck the read‑only attribute or adjust ACLs.
- In the solution explorer, right‑click the project →
-
Check for IDE cache corruption
- From the main menu choose
File → Invalidate Caches. - Select
Invalidate and Restart. - After Rider restarts, wait for the index to rebuild and observe whether the warnings disappear.
- From the main menu choose
Fixes tied to findings
- If the MSBuild path in Rider differs from the CLI, click the
...button in the Toolset page and point Rider to the MSBuild folder that matchesdotnet --info(typicallyC:\\Program Files\\dotnet\\sdk\\\\MSBuild). - If NuGet.config is missing the nuget.org source, add the snippet shown above, save the file, and trigger a restore via
Right‑click on solution → Restore NuGet Packagesor rundotnet restorein the terminal. - If the required SDK is absent, install it; after installation, restart Rider so it detects the new SDK.
- If obj/bin folders are read‑only, adjust permissions as described; then reload the project (
Right‑click → Reload Project). - If caches are corrupt, the Invalidate Caches step usually resolves phantom missing‑reference warnings; no further action needed.
Escalation criteria
Proceed to the next step if:
- After verifying and correcting the MSBuild path, the project still fails to load with the same MSBuild‑related error.
- NuGet restore continues to fail despite a correct
NuGet.configand network connectivity. - The target framework SDK is installed but Rider still reports “Framework not found”.
- Permissions are correct and caches have been invalidated, yet the IDE shows missing references for files that exist on disk.
At this point:
- Create a backup of the
.ideadirectory. - Delete the
.ideafolder (or rename it) to reset Rider‑specific settings. - Re‑open the solution; Rider will regenerate the
.ideafolder with defaults. - If the problem persists, reproduce the issue with the
dotnet buildcommand from a clean command prompt to determine whether the fault lies in the SDK/MSBuild toolchain rather than Rider.
Limitations and verification
Changing the MSBuild path in Rider’s Toolset affects only Rider; other IDEs or build scripts continue to use their own MSBuild locations. Verify the fix by:
- Building the solution from Rider (
Ctrl+F5) and confirming the output window shows a successful build. - Running
dotnet buildin the terminal and checking that the exit code is 0. - Opening a few source files and ensuring IntelliSense resolves symbols without squiggles.
If the build succeeds in the terminal but not in Rider after the above steps, the issue is likely Rider‑specific and may require a reinstall or contacting JetBrains support.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.