Run configurations
ReSharper helps you create, manage, and execute multiple run configurations for a solution. A run configuration lets you run or debug a project, a static method or any executable file.
Run Configurations popup
You can execute run configurations as well as manage them in any way using the Run Configurations popup. To open the ppopup press Control+Shift+Alt+R or choose from the main menu .
![ReSharper: Adding a new run cunfiguration ReSharper: Adding a new run cunfiguration](https://resources.jetbrains.com/help/img/dotnet/2022.1/run_config_add.png)
The popup displays all existing run configurations. The active run configuration is highlighted in bold.
Run Configurations in ReSharper Build & Run
You can also execute run configurations in the Build & Run window.
![Run configurations in the ReSharper Build & Run window Run configurations in the ReSharper Build & Run window](https://resources.jetbrains.com/help/img/dotnet/2022.1/run_config_builder.png)
The active run configuration is shown in the combo box on the window toolbar, when you expand the combo box, you will have similar controls as in the Run Configurations popup. Besides, you can use toolbar buttons to run or debug the active configuration, with or without rebuilding.
Active run configuration
Among all run configurations, one is always set as 'active'. The active configuration is executed when you press F5 or choose in the main menu. There is a single run configuration (VS Startup) that exists by default and that you cannot remove. This configuration executes the startup project(s) configured in Visual Studio. Initially, it is set as the active configuration.
As soon as you create a new run configuration, the newly created configuration becomes active automatically.
To set another run configuration as active, select it in the Run Configurations popup, and then choose .
Types of run configurations and their preferences
ReSharper allows you to work with run configurations of three different types. Each configuration is identified by name and has a number of properties specific to its type.
Launch project
With this configuration type, you can run or debug any executable project in your solution. For a large solution with multiple executable projects, this could be an alternative to searching projects in the Solution Explorer and setting the project that you want to execute as the StartUp project.
Static Method
This configuration type lets you run or debug any public static method without parameters. You can use this type of configuration for a static method to run or debug any algorithm or subsystem in your codebase. If necessary, you can use console for interactive execution.
For this type, you need to provide the full name of the method (that is, Project.Class.Method) and optionally, a working directory, architecture, CLR (.NET Framework) version, and a project to build before the execution.
Note that you can execute static methods with a temporary run configuration.
Executable
Using this configuration type, you can run or debug any executable file. If you choose the debug command, ReSharper will run the executable and then make Visual Studio attach to the corresponding process. This configuration type helps you create a complex execution setup (for example, if you are working on a plugin for another program).
For this type, you need to specify the target executable file and optionally, a working directory, command line arguments as well as whether to build a specific project or the whole solution before execution.
Create and edit run configurations
An all-purpose way to create a new run configuration is to use the Run Configurations popup Control+Shift+Alt+R.
Create a run configuration of any type
Select Add
in the Run Configurations popup and then choose the type of configuration you want to create (Executable, Static Method, or Launch Project).
If you are creating a run configuration for a project, you can alternatively right-click the project in the Solution Explorer and choose Create Run Configuration.
In the dialog that opens, specify a name and preferences for the configuration, and then click OK
The newly created configuration is saved and becomes active. You can press F5 or click Run on the toolbar to execute it.
For static methods, you can also quickly create a run configuration right in the editor.
Create a run configuration for a static method
Set the caret at the declaration of a public static method without parameters.
Press Alt+Enter or click the action indicator on the left.
In the action list that opens, choose Debug
and then select any of the items with ellipsis (for example Run...)
In the dialog that opens, ReSharper automatically fills all configuration preferences based on the selected method. If necessary, you can change the name of the configuration and any other preferences.
Click Save & Execute to create the new configuration and execute it in a way that you chose on step 3 (run/debug, with/without building).
Alternatively, you can click Execute to run/debug the configuration without saving.
If you want to create a copy of an existing run configuration, select it in the Run Configurations popup, and then choose Configure | Duplicate. In the dialog that opens, specify a new name for the copied configuration, change any preferences as required, and click OK to finish.
To modify properties of an existing run configuration, select it in the Run Configurations popup, choose Configure | Edit, and modify the configuration's properties as required.
To remove a run configuration, select it in the Run Configurations popup, and choose Configure | Delete.
For static methods, you can edit, duplicate, and remove the associated run configurations right from the editor. You can recognize a static method that has run configuration by the fixes action indicator to its left. Click this indicator or press Alt+Enter and then choose Edit, Duplicate, or Delete actions under the Configure item.
Execute run configurations
Execute active configuration
To run/debug the active configuration, press Ctrl+F5/F5 or choose in the main menu.
By default the project/solution is rebuilt. You can also execute the active configuration without rebuilding. To do so, press Control+Alt+F5 to run without building or Alt+F5 to debug without building.
If you prefer to execute configurations without building, you can change the default behavior. To do so, choose Don't build by default in the Run Configurations popup Control+Shift+Alt+R. When this option is selected, use Ctrl+F5/F5 to execute the active configuration without building and Control+Alt+F5/Alt+F5 if you want to rebuild project/solution before execution.
Execute other configurations
You can execute any existing configuration using the Run Configurations popup Control+Shift+Alt+R. To do so, select the desired configuration in the popup, and then choose the proper run/debug command. To execute the Visual Studio's configuration, choose VS Startup in the popup.
Execute run configurations for static methods
ReSharper allows you to execute any public static method without parameters. You can set the caret at such method, press Alt+Enter, choose Debug , and then select the desired run/debug command. Before execution starts, you will see a dialog where you will be able to customize execution parameters. Click Execute to execute the method once, or Save & Execute if you want to reuse this configuration.
If a static method has an associated run configuration, ReSharper displays a fixed action indicator to its left. In this case, no dialog is shown when you execute the method.
Attach debugger to a running configuration
If you need to debug a run configuration, you can start it in a debug mode right away. However, if you execute a run configuration with a Run or Run without building commands, you can attach to it anytime later.
If you have one or more run configurations running, you can attach to the running process by choosing Attach to [configuration name] in the Run Configurations popup Control+Shift+Alt+R.
ReSharper will automatically switch Visual Studio to the debug mode and attach to the process of the selected run configuration, allowing you to break its execution, step, and so on.
Share run configurations
By default, all run configurations that you create are saved in the 'Solution personal' layer of the ReSharper's layered settings.
If you want to share some run configurations with your team members who work on the same solution, you can move these configurations to the 'Solution team-shared' layer. To do so, select a configuration it in the Run Configurations popup Control+Shift+Alt+R, and choose Configure | Share. To stop sharing a run configuration, choose Configure | Unshare. As soon as you push changes to the shared layer ([SolutionName].sln.DotSettings file) into your VCS and other users pull your change, the shared configuration will be readily available to them.
Note that other team members will be able to modify the shared configuration and the updated version will be available as soon as the 'Solution team-shared' settings layer file is updated through VCS.