508

I already have a window open with the web site I'm debugging. I don't need VS to launch another one for me every time I need to debug.

Is there a way to stop this behavior?

3
  • Do you have tabbed browsing enabled?.. And are you using IE? Commented Apr 4, 2009 at 4:21
  • You want to disable the Browser Link Feature Commented Jul 13, 2020 at 9:12
  • 1
    changed for VS 2022. Launch profiles Commented Oct 4, 2022 at 9:24

23 Answers 23

501

Open your startup project's properties (Project → {ProjectName} Properties... from the main menu or right click your project in the Solution Explorer and choose Properties), then navigate to the Web tab and under Start Action choose Don't open a page. Wait for a request from an external application.

You will still be able to use any browser (or Fiddler, whatever) to access the running application, but it won't open the browser window automatically, it'll just start in the background and wait for any requests.

Sign up to request clarification or add additional context in comments.

12 Comments

It does. I use it for debugging all the time. You must have wrong configuration. Double check that you have debugging enabled in the web.config and that you're running a Debug build.
@mjohnsonengr I'd swear this is a per user setting that is local... Perhaps you have .csproj.user file checked-in (you shouldn't).
So it is [a local setting]. I had previously assumed that all the project settings in that area were stored in team csproj. I had previously tried changing the URL that the browser would open by modifying "Project URL" and saw that it got changed in .csproj. Upon closer inspection, I now see that there is a "Apply server settings to all users" checkmark which controls just that field. My bad.
@PawelKrakowiak This doesn't seem to work. It opens the new tab regardless of checking the setting.
For Visual Studio on Mac, the comparable settings is under "Project > Options > Run > Default > ASP.NET Core". Uncheck the "Open URL in web browser when app starts".
|
300

For VS 15.7.1 ToolsOptionsProjects and SolutionsWeb Projects → uncheck Stop debugger when browser window is closed.

enter image description here

10 Comments

VS 15 is Visual Studio 2017, BTW.
Suggested change don't do what the question is about.
Works fine in VS2019 (16.4.4)
For me, this is true answer. vs2019 16.8.3
Also works in VS2022 RC3 (ie Version 17.0.0 RC3)
|
147

Updated answer for a .NET Core Web Api project...

Right-click on your project, select "Properties," go to "Debug" and untick the "Launch browser" checkbox (enabled by default).

enter image description here

3 Comments

@Grey Where is this option "Launch Browser"option present?
I've updated the answer: You've to go to the properties of your project to get to the option.
it has changed for VS 2022..
83

In an ASP.Net 5 project this can now be set for each launch profile.

Open the file launchsettings.json under the Startup Project Properties folder and add "launchBrowser": false to the profile you are configuring, such as in:

"profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": false, "environmentVariables": { "Hosting:Environment": "Development" } } } 

1 Comment

This works great - however for a .net9 blazor wasm project, it stops breakpoints being hit when debugging. Anyone else found this and have a workaround?
45

In Visual Studio 2019, I resolved the same issue as below:

Go to your Visual Studio options Tools >>> Options >>> Project and Solutions >>> Web Projects then finally untick option >>> Stop debugger browser window is closed, close browser when debugging stops

Step 1:

enter image description here

Step 2: untick option >>> Stop debugger browser window is closed, close browser when debugging stops

enter image description here

Step 3:

Then finally click on >>> OK button, these are all the steps to resolve the issue.

2 Comments

This answer works even for visual studio 2019 Preview (Version 16.8.0 Preview 6.0)
Magic, also works for VS 2022
30

I have solved my problem by following below steps. Go to Tools >> Click on options >> click on projects and solutions >> web projects >> uncheck "Stop debugging when browser is closed" optionenter image description here

2 Comments

underrated answer
I was looking for a way to stop visual studio from launching a new browser when starting debug, but open a new tab in current browser instead. It makes no sense why, but disabling this makes it work.
26

As I did not had the mentioned option in my VS which is Visual Studio Enterprise 2017, I had to look for some other option.

Here is it what I've found:

Go to Tools -> Options -> Debugging tab(General) and uncheck "Enable JavaScript debugging for Asp.Net(Chrome and IE).

enter image description here

2 Comments

Thank you, This solution working fine on VS 2022 (v17.7.7).
Right, this is for VS2022 too! Thanks!
22

This workaround works for me for VS 2019

Tools => Options

Then type Projects and solutions in the search box.

Select the Web Projects.

Then deselect the option below.

Stop debugger when browser window is closed, close browser when debugging stops.

This works for me. Hope this will help.

1 Comment

It still opens a new tab every time when I start debugging.
22

Looks like it has changed for VS 2022,

Now it has a dedicated UI,

Right Click the project (in Solution explorer) -->> select Properties (you'd see the below screen) then follow :-

enter image description here


enter image description here

"uncheck" this checkbox for it to not open automatically.

*** OR *** you can click the menu bar, Debug > Properties

enter image description here

and you can reach the Step-2 "launch profiles" directly from here.

or a shortcut:

Select the project ( in Solution explorer) and press Alt + Enter and then follow from there..

Comments

12

You can use the Attach To Process function, rather than pressing F5.

This can also allow you to navigate through known working sections without the slowdown of VS debugger loaded underneath.

4 Comments

I've tried that, but it won't stop execution when it finds a breakpoint. I need it to stop at breakpoints, is there a way to enable that? Thanks.
provided that your attached to a process which has loaded the exact same assemblies which are in the /bin/ folder of the application all breakpoints will work (oh, and provided there are .pdb files!)
I Googled on how to fix that but it seems like a lot of trouble. I couldn't get it to work. I'll use I Have the Hat's solution in the meanwhile. Thank you.
I can debug by pressing F5 with the "wait for a request from an external application" option, but I can't get Attach To Process to work (attaching to INetMgr.exe). Never stops at a breakpoint. I was using VSCommands in VS 2013, but the new 2015 version of VSCommands doesn't support "Attach to IIS" yet. Wish I knew what the issue was.
9

When you first open a web/app project, do a Ctrl-F5, which is the shortcut for starting the application without debugging. Then when you subsequently hit F5 and launch the debugger, it will use that instance of IE. Then stop and start the debugging in Visual Studio instead of closing IE.

It works on my machines. I'm using the built in dev web server. Don't know if that makes a difference.

Firefox will also stay open so you can debug in either or both at the same time.

2 Comments

Hey that works! Thanks a lot. Now I can avoid around 100 extra windows per coding session. Also, when I hit F5 VS resizes my IE window. Do you know how can I avoid that?
Sorry sker, I don't know the answer to that--it doesn't happen for me doing the above though, so there probably is an answer somewhere. Maybe IE is remembering its window size and it's unrelated to the debugging scenario?
9

Here's what did it for me:

Go to Project Properties > Debug > Uncheck "Launch Browser" > Save.

enter image description here

Comments

8

There seems to be one case in which none of the above but the following helps. I'm developing a project for Windows Azure cloud platform and I have a web role. There is indeed a radio button Don't open page in Project -> {Project name} properties... as was pointed out by Pawel Krakowiak, but it has no effect in my case whatsoever. However, there is the main cloud project in solution explorer and there is the Roles folder under it. If I right click my web role in this folder and choose Properties, I get another set of settings and on the Configuration tab there is the Launch browser for flag, after unchecking it a new browser window is not opened on application start up.

Comments

8

Joao Costa answer also holds true for .Net core 2 projects.

launchsettings.json --> "launchBrowser": false

"profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": false, "environmentVariables": { "Hosting:Environment": "Development" } } } 

1 Comment

This was super helpful. Worth noting that this launchSettings.json is hidden under Properties "Folder" in "Solution Explorer"
5

While there are several excellent answers, ranging from usual suspects to newer solutions, I would like to provide one more to the fray that addresses what you should do when you are working on a solution with multiple projects.

Before I arrived at this solution, I kept looking at bindingInformation in the applicationhost.config of the solution, tirelessly looking for any hint of why things were simply not working.

Turns out, the simple thing that I overlooked was that different projects have individual settings too.

So, besides Project > {Project-Name} Properties... > Web > Start Action on my Backend Project, I also had to Go to Website > Start Options... > Start Action on my Frontend Project. Once there, I selected Don't open a page. Wait for a request from an external application and have been happy ever since!

Backend Settings Frontend Settings

Comments

3

I looked over the answers and didn't see the solution I found mentioned. If it was, my apologies. In my case, currently using Visual Studio 2015. In the solution explorer, right click on the Project file and click properties. Go to the Debug tab and this should have info for how you're launching "IIS Express or Web(DNX)" for the first two drop downs, and then there should be a checkmark box for "Launch URL:". Uncheck this option and your browser won't be automatically launched everytime you go to debug your application. Hope this helps someone out.

Comments

3

You can right click on your project, then choose Properties , on Debug tab you should uncheck launch browser checkbox.

Comments

1

CTRL+ALT+ENTER if your amends are front end only

http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

Comments

1

You can now also get to the Web properties by clicking the dropdown arrow next to the Run button!

  1. Click dropdown button next to "Run"
  2. { Project name } Properties
  3. Click "Web" in the list on the left
  4. Under the "Start Action" segment, click Don't open a page.

You're all set!

PS: This works for me, I'm on version 16.5.5 of VS Professional 2019 :)

Comments

1

If you're using the Web Publish feature in IIS, then the solution I found was to edit the publish configuration and remove the Destination URL from the configuration (leave it blank).

If this is defined, then every time you publish the project it will open the URL specified in the Destination URL (which is a redirect URL).

Reference: https://support.winhost.com/kb/a1604/visual-studio-publish-web-deploy.aspx

Comments

1

For VS2022 and ASP.NET Core:

Another shortcut is: to click the small dropdown button on the right side green-triangle button with the project's name on it, which usually launches the debug build. and then the last option "{project name} Debug Properties" which launches the dedicated UI window directly.

enter image description here

From there follow @irf's advice:

"uncheck" the option for it to not open automatically.

enter image description here

Comments

1

Tools > Projects and Solutions > Web Projects > Stop debugger when.....

Check if you want to open new page and close when stop debugging. Uncheck if you want new tab and keep it even when you stop debugging.

Comments

0

Complete solution in simple steps Visual Studio - 2022

  1. Open Visual studio
  2. open Solution Explorer (Ctrl + Alt + L)
  3. Right click on your project
  4. click on "properties"
  5. Properties window
  6. In the left panel , click "debug"
  7. Under "General" , there is "Open debug launch profiles UI"
  8. A new dialog box (launch profiles) will be there
  9. look for launch browser and untick the checkbox Launch profile dialog box
  10. close all dialog box, you are done

Thanks

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.