JetBrains Rider 2019.2 Help

Run/Debug Configuration: .NET Launch Settings Profile

Run | Edit Configurations | Add New Configuration | .NET Launch Settings Profile


This run/debug configuration type helps you run and debug .NET Core/ASP.NET Core applications that have their launch settings configured in a launchSettings.json file.

What is launchSettings.json

launchSettings.json, which is placed in the Properties folder of a project, describes how the application can be launched — the command to execute, whether the browser should be opened, which environment variables should be set, and so on. This information can then be used by JetBrains Rider, by dotnet run, or by any other tool to run or debug the application.

This article details the conventions used in launchSettings.json. The example below shows a sample launchSettings.json with two launch profiles: IIS Express and Sample.

{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:43347", "sslPort": 44364 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } }, "Sample": { "commandName": "Project", "launchBrowser": true, "applicationUrl": "https://localhost:5001;http://localhost:5000", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Staging" } } } }

Creating run/debug configurations based on launchSettings.json

When you open a project with launchSettings.json for the first time, JetBrains Rider will pick the available launch profiles and automatically create corresponding run/debug configurations, which you can then use to run and debug the project.

For example, after cloning and opening the Orchard CMS, JetBrains Rider will create the following run/debug configurations from the launchSettings.json files:

JetBrains Rider: Creating run/debug configurations based on launchSettings.json

JetBrains Rider only generates run/debug configurations automatically when no user-defined run configurations were created in the solution before. If there are existing run/debug configurations, you can right-click launchSettings.json in the Solution Explorer and choose Generate Configurations to import the project's launch profiles into run/debug configurations.

If you remove all run/debug configurations from the solution and reopen it, JetBrains Rider will generate new run/debug configurations based on launch profiles in launchSettings.json.

Running and debugging launch profiles

When launch profiles are imported as run/debug configurations, you can choose the corresponding configuration on the toolbar and click Run artwork studio icons avd run or Debug icons actions startDebugger svg:

JetBrains Rider: Running a launch profile based launchSettings.json

If a project has launchSettings.json, but there are no corresponding run/debug configurations for some reason, you can right-click the project in the Solution Explorer and choose Run '...' or Debug '...'. In this case, JetBrains Rider will create a temporary run/debug configuration for the first launch profile in the project's launchSettings.json and execute it.

You can also open a launchSettings.json in the editor and use the gutter icons to run or debug any launch profile:

JetBrains Rider: Running a launch profile from launchSettings.json file

In this case, JetBrains Rider will also create a temporary run/debug configuration for this profile.

Editing launch settings profiles

A run/debug configurations based on a launch profile includes two kinds of parameters:

  • Parameters from launchSettings.json, which you can configure by editing the file — use syntax highlighting, code analysis, and code completion when editing:

    JetBrains Rider: Coding assistance for editing launchSettings.json
  • Additional configuration parameters added by JetBrains Rider, such as the target framework to use or .NET runtime arguments. To configure these parameters, choose Run | Edit Configurations from the menu and pick the corresponding configuration.
    Parameters from launchSettings.json are shown as read-only; all other parameters are editable:

    JetBrains Rider: Editing run/debug configuration based on launchSettings.json

Main options

Item

Description

Project:

Choose a startup project for this configuration.

Target framework:

A .NET Framework version that will be used to run this configuration.

Launch profile:

Use this selector to pick one of the profiles configured in the launchSettings.json file.

Exe path:

The path to the executable file of the selected target project is calculated automatically, but you can change it if needed.

Program arguments:

Arguments that will be passed to the executable when the configuration is started.
Multiple arguments should be separated with whitespaces.
For some project types (for example, Web Application), JetBrains Rider will fill this field automatically so that the target project could be started correctly.

Working directory:

The working directory is automatically set to the bin/Debug path of the selected target project, but you can change it if needed.

Environmental variables:

Here you can specify custom environment variables for the target executable.

Runtime variables:

Both dotnet and Mono support setting custom runtime arguments when launching an application. For example Mono supports many runtime arguments to customize how your application is run. You can select the garbage collector to be used (--gc=boehm or --gc=sgen), on macOS you can select the runtime architecture to be used (--arch=32 or --arch=64), and more.

Use mono runtime If you are working on Windows, you can check how your application works with the mono runtime. JetBrains Rider will use the mono executable specified on the Build, Execution, Deployment | Toolset and Build page of JetBrains Rider settings Ctrl+Alt+S.
To debug with mono runtime, you need:
  • Mono 4.2+

  • Portable PDB in your projects — <debugtype>portable</debugtype> in the .csproj file, or alternatively, generate mdb with pdb2mdb.

Use external console:

By default, the output of .NET Core and Mono applications is shown in the Run or Debug window. Use this checkbox to show the output in an external window.
This checkbox does not affect classic .NET application types (for example, .NET Console Application) — their output in always shown in an external window.

The following four options are available when a IIS Express launch profile is chosen in the Launch profile: selector.
Generate applicationhost.config

To launch IIS Express with your ASP.NET Core application, JetBrains Rider uses a configuration file .idea/config/applicationhost.config, which is created using a template that ships with IIS Express. When possible, customizations you make to this file are also preserved. You might want to dispable this option for heavy customizations.

Show IIS Express output

This option enables output from the IIS Express process. By default, it is disabled (as the output is quite verbose), but when enabled we can see additional details when running the application:

JetBrains Rider: IIS Express output

Send debug request

When this option is enabled, JetBrains Rider will send an initial request (with a DEBUG HTTP request method) to the target ASP.NET Core application. This ensures the application is started and the debugger is attached, even when the browser is not started.

Additional IIS Express arguments

This field lets you pass additional arguments to the IIS Express host (for example, to enable request tracing).

Common

When you edit a run configuration (but not a run configuration template), you can specify the following options:

Item

Description

Name

In this field, specify the name for the run/debug configuration. The name will help you identify the created configuration when you choose to edit it later, or when you invoke it, for example, from the Run popup Ctrl+Shift+Alt+R.

Share through VCS

Select this checkbox to put the run/debug configuration under version control and make it available to other team members.

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml .

Allow running in parallel

If this checkbox is selected, it is possible to launch a run configuration multiple times in parallel instead of rerunning it. Each runner will start in its own tab of the Run Tool Window or Debug Tool Window.

When disabled, every time a new instance of the run/debug configuration is launched, JetBrains Rider checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog. If you click OK in the confirmation dialog, the first instance of the runner will be stopped, and the next one will take its place. This makes sense when launching two instances of run/debug configurations of the same type consumes too much of the CPU and memory resources..

Toolbar

The tree view of run/debug configurations has a toolbar that helps you manage configurations available in your solution as well as adjust default configurations templates.

Item

Shortcut

Description

the Add buttonCtrl+N

Create a run/debug configuration.

the Remove buttonCtrl+R, D

Delete the selected run/debug configuration. Note that you cannot delete default configurations.

Copy Ctrl+D

Create a copy of the selected run/debug configuration. Note that you create copies of default configurations.

Save configuration

The button is displayed only when you select a temporary configuration. Click this button to save a temporary configuration as permanent.

Edit Templates

View and edit the template (that is, the default settings) for the selected run/debug configuration. The templates are displayed under the Templates node and used for newly created configurations.

Method up/Method down

Alt+Up/Alt+Down

Move the selected run/debug configuration up and down in the list.

The order of configurations in the list defines the order, in which the configurations appear when you choose a run/debug configuration.

Default templates of run/debug configurations are always sorted alphabetically.

Move into new folder / Create new folder

Move into new folder / Create new folder. You can group run/debug configurations by placing them into folders.

To create a folder, select the configurations within a category, click Folder, and specify the folder name. If only a category is in focus, an empty folder is created.

Then, to move a configuration into a folder, between the folders or out of a folder, use drag or Move Up and Move Down buttons.

To remove grouping, select a folder and click Remove Configuration.

Sort configurations

Click this button to sort configurations in the alphabetical order.

Before Launch

In this area you can specify tasks that must be performed before starting the selected run/debug configuration. The tasks are performed in the order they appear in the list.

Item

Shortcut

Description

the Add buttonCtrl+N

Click this icon to add one of the following available tasks:

  • Run External tool: select to run an external application. In the dialog that opens, select one or multiple applications you want to run. If it is not defined in JetBrains Rider yet, add its definition.

  • Run Another Configuration: select to execute another run/debug configuration. In the dialog that opens, select the configuration to be run.

  • Build solution: select this option to build the solution before launching the configuration.

  • Run File Watchers: select this option to have JetBrains Rider apply all the currently active file watchers.

  • Run Grunt task: select this option to run a Grunt task.

    In the Grunt task dialog that opens, specify the Gruntfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Grunt tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the grunt-cli package.

  • Run Gulp task: select this option to run a Gulp task.

    In the Gulp task dialog that opens, specify the Gulpfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Gulp tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the gulp package.

  • Run npm Script: select this option to execute an npm script.

    In the NPM Script dialog that opens, specify the npm run/debug configuration settings.
  • Generate CoffeeScript Source Maps: select this option to generate the source maps for your CoffeeScript sources. In the dialog that opens, specify where your CoffeeScript source files are located.

  • Run Remote External tool: adds a remote SSH external tool.

the Remove buttonCtrl+R, D

Click this icon to remove the selected task from the list.

Edit Enter

Click this icon to edit the selected task. Make the necessary changes in the dialog that opens.

Method up/Method down

Alt+Up/Alt+Down

Click these icons to move the selected task one line up or down in the list. (The tasks are performed in the order that they appear in the list.)

Show this page

Select this checkbox to show the run/debug configuration settings prior to actually starting the run/debug configuration.

Activate tool window

By default this checkbox is selected and the Run or the Debug tool window opens when you start the run/debug configuration.

Otherwise, if the checkbox is cleared, the tool window isn't shown. However, when the configuration is running, you can open the corresponding tool window for it yourself by pressing Alt+4 or Alt+5.

Last modified: 19 September 2019