How to start a single project without debugging in Visual Studio?

Visual Studio

Visual Studio Problem Overview


My solution contains multiple projects which can be started. SometimesI would like to start a single project without using my solution startup projects settings. When I right-click on the project, I can navigate to Debug->Start New Instance, which starts the application with debugger.

But I would like to start a new instance without debugger. Is this possible?

Visual Studio Solutions


Solution 1 - Visual Studio

Maybe this is new in VS 2015 but there's no need to add a custom macro - you can find the Start Without Debugging menu item in the list of things you can add.

Go to Tools -> Customize, follow the images below.

Hit Add Command Here you can find the menu item

Solution 2 - Visual Studio

If you are interested in permanent solution then I have written a small macro for this task. It does following things :

  1. Gets current selected project ( it will use first selected project, if you have selected multiple projects.)
  2. Saves the current Startup Project
  3. Sets the current selected project as Startup project and Runs the current selected project in "Start without Debug" Mode.
  4. Restores the Initial Startup Project as Startup Project.

Below is the Macro that I have written and the procedure how to do it.

How to write Macro : First thing you need to go to Visual Studio Tools --> Macros --> Macro Explorer. Once you got that right click on MyMacros and create a new module (I called it CollapseAll).

Now edit the new module (double-click on it) erase whatever is in there and paste this stuff into it.

Sub RunSelectedWithoutDebug()
            Dim Projs As Array
            Dim Proj As Project
            Projs = DTE.ActiveSolutionProjects()
            If (Projs.Length > 0) Then
                Proj = Projs.GetValue(0)
                Dim Prop As EnvDTE.Property
                Prop = DTE.Solution.Properties.Item("StartupProject")
                Dim PrevStartup As Object
                PrevStartup = Prop.Value
                Prop.Value = Proj.Name
                DTE.ExecuteCommand("Debug.StartWithoutDebugging")
                Prop.Value = PrevStartup
            End If
        End Sub

How to bind macro to keyboard shortcut : To do this you need to go to Tools-->Options-->Environment-->Keyboard. Pick your macro from the listBox with all the default VS stuff (remember it will be there like MyMacros.Module1.RunSelectedWithoutDebug) and then assign a hotkey combination or chord to it and save.

Note : Fourth step is creating a problem and spawns an annoying messagebox saying : The build must be stopped to change the solution property. Stop the build? Ok or Cancel. I used to hit Ok for the timebeing. If you dont have any problem if the macro sets up current selected project as Startup project than please comment last line of macro Prop.Value = PrevStartup by putting ' at the start of line.Now the messagebox will not come.

I am looking into it and will post the updated macro once i solve it ( if I can :) )

Solution 3 - Visual Studio

Add VSCommands extension into Visual Studio, right click a project -> Debug -> Start Without Debugging

Visual Studio 2022 update: there is a default menu option to start a project without debugging: enter image description here

Solution 4 - Visual Studio

I just put together this macro.. It's a combination of several snippets I found around the interweb. If the project is configured to run the default project output, it will find and run that. If it's configured to run a specific program, it will run that. This macro will NOT compile your application either, so you'll want to make sure it's compiled before you run the macro. At the same time, this macro doesn't suffer from the problem mentioned in Mahin's macro above.

Sub RunActiveProjectOutput()
    Dim Projs As Array
    Dim Proj As Project
    Projs = DTE.ActiveSolutionProjects()
    If (Projs.Length > 0) Then
        Proj = Projs.GetValue(0)

        Dim action = DirectCast(Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartAction").Value, Integer)

        If (action = 1) Then
            Dim app = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartProgram").Value
            Dim args = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("StartArguments").Value
            System.Diagnostics.Process.Start(app, args)
        Else
            Dim fullPath = Proj.Properties.Item("FullPath").Value.ToString()
            Dim outputPath = Proj.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value.ToString()
            Dim outputDir = System.IO.Path.Combine(fullPath, outputPath)
            Dim outputFileName = Proj.Properties.Item("OutputFileName").Value.ToString()
            Dim assemblyPath = System.IO.Path.Combine(outputDir, outputFileName)
            System.Diagnostics.Process.Start(assemblyPath)
        End If
    End If
End Sub

Solution 5 - Visual Studio

I've been trying to do the same thing. It seems like an oversight by the VS team that you can start with or without debug at the solution level, but only with debug at the project level.

One thing that I've noticed is that if you right-click on a toolbar and choose "Customize", in the popup window of actions, go to Category "Project". In there, there is a command for "Run" and "Run Selected". Interesting, I added both to my project context menu, and to the main button bar, and the items seem to always be disabled.

Also interesting, the project context menu's "Debug | Start New Instance" command is nowhere to be found in the list of customizable commands. I looked through almost every category and couldn't find it.

Hopefully someone comes up with a good way to do this... it would be really handy!

Solution 6 - Visual Studio

Here is the the way to solve problem related to Mahin's macro

Problem description: Fourth step is creating a problem and spawns an annoying messagebox saying : The build must be stopped to change the solution property. Stop the build? Ok or Cancel.

Public Module Custom
    Private WithEvents t As Timers.Timer

    Private Prop As EnvDTE.Property
    Private PrevStartup As Object

    Private Sub StartTimer()
        t = New Timers.Timer
        t.Interval = 0.05
        t.Start()
    End Sub

    Sub t_Elapsed(ByVal ee As Object, ByVal dd As Timers.ElapsedEventArgs) Handles t.Elapsed
        If DTE.Solution.SolutionBuild.BuildState <> vsBuildState.vsBuildStateInProgress Then
            t.Stop()
            Prop.Value = PrevStartup
        End If
    End Sub

    Sub RunSelectedWithoutDebug()
        Dim Projs As Array
        Dim Proj As Project
        Projs = DTE.ActiveSolutionProjects()
        If (Projs.Length > 0) Then
            Proj = Projs.GetValue(0)
            Prop = DTE.Solution.Properties.Item("StartupProject")

            PrevStartup = Prop.Value
            Prop.Value = Proj.Name
            DTE.ExecuteCommand("Debug.StartWithoutDebugging")
            StartTimer()
        End If
    End Sub
End Module

Enjoy !

Solution 7 - Visual Studio

Use Start without debugging under Debug menu, or

Ctrl+F5

or you can modify the web.config file for the project:

<compilation debug="false"/>

Solution 8 - Visual Studio

This is pretty quick: Project | Set As StartUp Project | Current Selection. Then whichever project is selected is run under Debug | Start Without Debugging / Ctrl-f5. https://blogs.msdn.microsoft.com/saraford/2005/11/29/how-to-set-your-current-project-to-always-be-the-startup-project/

Solution 9 - Visual Studio

Right-click on the solution, select Properties. Select Multiple startup projects. A combobox for each project allows you decide which projects to start without debugging.

Solution 10 - Visual Studio

In short no.

What you could do is bind a key to the "Set as startup project" and then bind another key to start without debugging. Then you would have to push 2 keys to start this project without debugging, but at least it'd be quicker than using the mouse...

Solution 11 - Visual Studio

Right-Click on the project and Set it as Startup Project.

Hit Ctrl + F5

Solution 12 - Visual Studio

I usually start the executable directly. If i need one solution without debugging mode a lot i usually add them to a quick launch menu somewhere on my taskbar.

Solution 13 - Visual Studio

Someone has made an addon that does this. Currently doesn't really handle aspnetcore projects though:

https://marketplace.visualstudio.com/items?temName=vurdalak1.startwithoutdebugging

Solution 14 - Visual Studio

an alternative way of approaching this would be to NOT use visual studio for that particular use-case and just use command line "C:\Program Files\IIS Express\iisexpress.exe" /path:%appPath% /port:%appPort%

Solution 15 - Visual Studio

  1. Set the required project to be the Startup Project (as every has suggested)
  2. Turn off 'Build' for all other projects in the Solution Configuration Manager
  3. Start Without Debugging.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionOliver HanappiView Question on Stackoverflow
Solution 1 - Visual StudioSrekelView Answer on Stackoverflow
Solution 2 - Visual StudioMRGView Answer on Stackoverflow
Solution 3 - Visual StudioxhafanView Answer on Stackoverflow
Solution 4 - Visual StudioAlex DreskoView Answer on Stackoverflow
Solution 5 - Visual StudioCodingWithSpikeView Answer on Stackoverflow
Solution 6 - Visual StudioMiczView Answer on Stackoverflow
Solution 7 - Visual StudiorahulView Answer on Stackoverflow
Solution 8 - Visual StudioJim O'KeefeView Answer on Stackoverflow
Solution 9 - Visual StudioRichardView Answer on Stackoverflow
Solution 10 - Visual StudioRobbanView Answer on Stackoverflow
Solution 11 - Visual StudioAamirView Answer on Stackoverflow
Solution 12 - Visual StudioCodingBarfieldView Answer on Stackoverflow
Solution 13 - Visual StudioJoe PhillipsView Answer on Stackoverflow
Solution 14 - Visual StudiogawkfaceView Answer on Stackoverflow
Solution 15 - Visual StudioKirk BroadhurstView Answer on Stackoverflow