¿Evitar que Visual Studio inicie una nueva ventana del navegador al iniciar la depuración?


Respuestas:


415

Abra las propiedades de su proyecto de inicio ( Proyecto → {Nombre del proyecto} Propiedades ... desde el menú principal o haga clic con el botón derecho en su proyecto en el Explorador de soluciones y elija Propiedades ), luego navegue a la pestaña Web y en Iniciar acción elija No abrir una página . Espere una solicitud de una aplicación externa .

Aún podrá usar cualquier navegador (o Fiddler, lo que sea) para acceder a la aplicación en ejecución, pero no abrirá la ventana del navegador automáticamente, solo comenzará en segundo plano y esperará cualquier solicitud.


Parece una solución realmente buena, pero al igual que la de Slace, no detiene la ejecución en los puntos de interrupción, dice que no se cargan símbolos. Gracias sin embargo.
sker

99
Lo hace. Lo uso para depurar todo el tiempo. Debe tener una configuración incorrecta. Verifique que tenga habilitada la depuración en web.config y que esté ejecutando una compilación de depuración.
Pawel Krakowiak

1
@mjohnsonengr Juraría que esta es una configuración por usuario que es local ... Tal vez usted haya registrado el archivo .csproj.user (no debería).
Pawel Krakowiak

1
Entonces es [un entorno local]. Previamente asumí que todas las configuraciones del proyecto en esa área estaban almacenadas en el equipo csproj. Previamente intenté cambiar la URL que abriría el navegador modificando la "URL del proyecto" y vi que se modificó en .csproj. Tras una inspección más cercana, ahora veo que hay una marca de verificación "Aplicar la configuración del servidor a todos los usuarios" que controla solo ese campo. Culpa mía.
mjohnsonengr

44
Para Visual Studio en Mac, la configuración comparable se encuentra en "Proyecto> Opciones> Ejecutar> Predeterminado> ASP.NET Core". Desmarca la opción "Abrir URL en el navegador web cuando se inicie la aplicación".
IronRod

134

Para VS 15.7.1 ToolsOptionsProjects and SolutionsWeb Projects→ desmarque Stop debugger when browser window is closed.


66
VS 15 es Visual Studio 2017 , por cierto.
Uwe Keim

3
Esto también funciona VS 2019 Preview 4.3
KnuturO

2
El cambio sugerido no hace de qué se trata la pregunta.
Anatolyevich

1
Funciona bien en VS2019 (16.4.4)
Rory McCrossan

75

Respuesta actualizada para un proyecto .NET Core Web Api ...

Haga clic derecho en su proyecto, seleccione "Propiedades", vaya a "Depurar" y desactive la casilla de verificación "Iniciar navegador" (habilitada de forma predeterminada).

ingrese la descripción de la imagen aquí


1
@Grey ¿Dónde está presente esta opción "Iniciar navegador"?
Ayush Singhania

He actualizado la respuesta: tienes que ir a las propiedades de tu proyecto para acceder a la opción.
CennoxX

44

En un proyecto ASP.Net 5, esto ahora se puede configurar para cada perfil de inicio.

Abra el archivo launchsettings.json en la carpeta Propiedades del proyecto de inicio y agréguelo "launchBrowser": falseal perfil que está configurando, como en:

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

13

Esta solución alternativa me funciona para VS 2019

Herramientas => Opciones

Luego escriba Projects and solutionsen el cuadro de búsqueda.

Selecciona el Web Projects.

Luego, anule la selección de la opción a continuación.

Detenga el depurador cuando la ventana del navegador esté cerrada, cierre el navegador cuando se detenga la depuración.

Esto funciona para mi. Espero que esto ayude.


1
Gracias por este consejo
Win Man

Todavía abre una nueva pestaña cada vez que comienzo a depurar.
imitar el

12

Puede usar la función Adjuntar al proceso, en lugar de presionar F5 .

Esto también puede permitirle navegar a través de secciones de trabajo conocidas sin la desaceleración del depurador VS cargado debajo.


He intentado eso, pero no detendrá la ejecución cuando encuentre un punto de interrupción. Necesito que se detenga en puntos de interrupción, ¿hay alguna manera de habilitar eso? Gracias.
sker

1
siempre que esté conectado a un proceso que haya cargado exactamente los mismos ensamblajes que están en la carpeta / bin / de la aplicación, todos los puntos de interrupción funcionarán (¡oh, y siempre que haya archivos .pdb!)
Aaron Powell el

Busqué en Google cómo solucionarlo, pero parece que hay muchos problemas. No pude hacerlo funcionar. Mientras tanto, usaré la solución I Have the Hat. Gracias.
sker

Puedo depurar presionando F5 con la opción "esperar una solicitud de una aplicación externa", pero no puedo hacer que Adjuntar al proceso funcione (adjuntar a INetMgr.exe). Nunca se detiene en un punto de interrupción. Estaba usando VSCommands en VS 2013, pero la nueva versión 2015 de VSCommands aún no admite "Adjuntar a IIS". Ojalá supiera cuál era el problema.
ErikE

12

He resuelto mi problema siguiendo los pasos a continuación. Vaya a Herramientas >> Haga clic en opciones >> haga clic en proyectos y soluciones >> proyectos web >> desactive la opción "Detener depuración cuando el navegador está cerrado"ingrese la descripción de la imagen aquí


La mejor solución, ayudada para mi proyecto principal .net
V319

respuesta subestimada
Bimal Das

9

Cuando abra por primera vez un proyecto web / de aplicación, haga un Ctrl- F5, que es el acceso directo para iniciar la aplicación sin depurar. Luego, cuando golpee F5y ejecute el depurador, usará esa instancia de IE. Luego, pare e inicie la depuración en Visual Studio en lugar de cerrar IE.

Funciona en mis máquinas. Estoy usando el servidor web de desarrollo incorporado. No sé si eso hace la diferencia.

Firefox también permanecerá abierto para que pueda depurar uno o ambos al mismo tiempo.


Hey eso funciona! Muchas gracias. Ahora puedo evitar alrededor de 100 ventanas adicionales por sesión de codificación. Además, cuando presiono F5 VS cambia el tamaño de mi ventana de IE. ¿Sabes cómo puedo evitar eso?
sker

Lo siento, sker, no sé la respuesta a eso, aunque no sucede que haga lo anterior, así que probablemente haya una respuesta en alguna parte. ¿Quizás IE está recordando el tamaño de su ventana y no está relacionado con el escenario de depuración?
Rex Miller, el

7

Parece que hay un caso en el que ninguno de los anteriores, pero el siguiente ayuda. Estoy desarrollando un proyecto para la plataforma en la nube de Windows Azure y tengo un rol web. De hecho, hay un botón de radio No abrir página en Proyecto -> {Nombre del proyecto} propiedades ... como señaló Pawel Krakowiak, pero en mi caso no tiene ningún efecto. Sin embargo, existe el proyecto principal en la nube en el explorador de soluciones y hay una carpeta de Roles debajo. Si hago clic con el botón derecho en mi rol web en esta carpeta y elijo Propiedades , obtengo otro conjunto de configuraciones y en la pestaña Configuración aparece el navegador Iniciar para el indicador, después de desmarcarlo no se abre una nueva ventana del navegador al iniciar la aplicación.


6

Como no tenía la opción mencionada en mi VS, que es Visual Studio Enterprise 2017, tuve que buscar alguna otra opción.

Aquí está lo que he encontrado:

Vaya a Herramientas -> Opciones -> pestaña Depuración (General) y desactive "Habilitar la depuración de JavaScript para Asp.Net (Chrome e IE).

ingrese la descripción de la imagen aquí


Todavía válido para 2019, gracias.
Emanuel

5

La respuesta de Joao Costa también es válida para los proyectos .Net core 2.

launchsettings.json -> "launchBrowser": falso

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

1
Esto fue súper útil. Vale la pena señalar que este launchSettings.json está oculto en Propiedades "Carpeta" en "Explorador de soluciones"
netpoetica

2

Revisé las respuestas y no vi la solución que encontré mencionada. Si fue así, mis disculpas. En mi caso, actualmente uso Visual Studio 2015. En el explorador de soluciones, haga clic derecho en el archivo Proyecto y haga clic en propiedades. Vaya a la pestaña Depurar y esto debería tener información sobre cómo está iniciando "IIS Express o Web (DNX)" para los dos primeros menús desplegables, y luego debería haber una casilla de verificación para "Iniciar URL:". Desactive esta opción y su navegador no se iniciará automáticamente cada vez que vaya a depurar su aplicación. Espero que esto ayude a alguien.


2

Si bien hay varias respuestas excelentes, que van desde los sospechosos habituales hasta las soluciones más nuevas , me gustaría ofrecer una más a la refriega que aborda lo que debe hacer cuando está trabajando en una solución con múltiples proyectos .

Antes de llegar a esta solución, seguí buscando bindingInformationen la aplicación host.config de la solución, buscando incansablemente cualquier indicio de por qué las cosas simplemente no funcionaban.

Resulta que lo simple que pasé por alto fue que los diferentes proyectos también tienen configuraciones individuales.

Entonces, además Project > {Project-Name} Properties... > Web > Start Actionde mi Proyecto Backend, también tuve que Ir a Website > Start Options... > Start Actionmi Proyecto Frontend. Una vez allí, ¡seleccioné Don't open a page. Wait for a request from an external applicationy he sido feliz desde entonces!

Configuraciones de backend Configuraciones frontend


2

Puede hacer clic derecho en su proyecto, luego elegir Properties, en la Debugpestaña debe desmarcar la launch browsercasilla de verificación.



0

¡Ahora también puede acceder a las propiedades web haciendo clic en la flecha desplegable junto al botón Ejecutar!

  1. Haga clic en el botón desplegable junto a "Ejecutar"
  2. {Nombre del proyecto} Propiedades
  3. Haga clic en "Web" en la lista de la izquierda.
  4. En el segmento "Iniciar acción", haga clic en No abrir una página.

Estás listo!

PD: Esto funciona para mí, estoy en la versión 16.5.5 de VS Professional 2019 :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.