Streamlining ASP.NET Core Debugging with Rider’s Launch Settings Editor
Rider’s built‑in launch settings editor lets developers configure ASP.NET Core launch profiles graphically, edit the JSON directly, and debug without leaving the IDE, improving workflow consistency and source‑control friendliness.
13 Nov 2025, 17:33 UTC

Problem: Configuring ASP.NET Core launch profiles is a repetitive chore
Developers often need to tweak environment variables, command‑line arguments, or the working directory for each debugging session. Doing this manually means opening a text editor, editing launchSettings.json, saving, and restarting the app. The process is error‑prone and pulls you out of the IDE.
Thesis: Rider’s built‑in launch settings editor lets you create, edit, and debug ASP.NET Core profiles without leaving the IDE
JetBrains Rider includes a graphical UI that writes directly to the project’s launchSettings.json file. The same file is version‑controlled, so teammates receive identical configurations automatically.
Section 1 – The UI and what it controls
Open Rider, choose Run → Edit Configurations, click the + button and select ASP.NET Core. The dialog lets you set:
- Environment variables (e.g.,
ASPNETCORE_ENVIRONMENT=Development) - Command‑line arguments
- Working directory (default is
$(ProjectDir)) - Target framework (the ASP.NET Core version)
All settings are saved instantly to launchSettings.json under the project root.
Section 2 – Editing the JSON directly
Because Rider writes valid JSON, you can also open launchSettings.json in any editor. The file contains a profiles array where each entry corresponds to a launch configuration. Example entry:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5000",
"sslPort": 0
}
},
"profiles": {
"MyWebApi": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7185;http://localhost:5185",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
Placeholders such as $(ProjectDir) are resolved by Rider at runtime.
Section 3 – Debugging with the new profile
After saving, select the profile from the Run/Debug dropdown and start debugging. Rider attaches the debugger to the Kestrel process (or IIS Express) and:
- Sets breakpoints in your controller actions.
- Steps through code line‑by‑line.
- Shows the current environment variable values in the Variables pane.
Because the debugger is attached to the same process that launched the app, you see the exact context that the code runs in.
Section 4 – Trade‑offs and limitations
The UI only supports the JSON schema that ASP.NET Core expects. If your project uses custom launch mechanisms (for example, a Docker compose file or a non‑standard environment file), you may need to edit the JSON manually or create a separate configuration.
Changing launch settings does not automatically rebuild the project. If you modify the application path or the applicationUrl, you must manually trigger a rebuild or restart Rider to see the effect.
Worked Example: Adding a Development Profile
- Create a new ASP.NET Core Web API project in Rider.
- Open Run → Edit Configurations.
- Click + → ASP.NET Core.
- Name the profile “DevProfile”.
- Set Environment variables to
ASPNETCORE_ENVIRONMENT=Development. - Leave Application URL as the default
https://localhost:7185;http://localhost:5185. - Press OK. Rider writes the new entry to
launchSettings.json. - Commit the file to Git.
- Clone the repository on a second machine, open it in Rider, and verify that “DevProfile” appears in the Run/Debug dropdown without any extra steps.
Verification step: start debugging with “DevProfile”, set a breakpoint in WeatherForecastController.Get, and confirm the breakpoint hits. Open the Variables pane to see that ASPNETCORE_ENVIRONMENT equals “Development”.
Conclusion: Use Rider’s launch settings editor to streamline ASP.NET Core debugging
The graphical editor eliminates the need to switch to an external text editor, keeps configuration under source control, and provides immediate feedback during debugging. While it works best for standard ASP.NET Core scenarios, teams should be aware that custom launch scripts may require manual JSON edits. By committing the launchSettings.json file, every developer gets the same launch environment, reducing “it works on my machine” issues.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.