2009-04-04 18 views

Respuesta

262

Abra las propiedades de su proyecto de inicio (Project -> {} Nombre del Proyecto Propiedades ... desde el menú principal o haga clic derecho en su proyecto en el Explorador de soluciones y seleccione Propiedades ), vaya a la Web pestaña y en Acción de inicio elija No abra una página. Espere una solicitud desde una aplicación externa.

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

+0

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

+6

Lo hace. Lo uso para la depuración todo el tiempo. Debes tener una configuración incorrecta. Verifique que tenga habilitada la depuración en el archivo web.config y que esté ejecutando una compilación de depuración. –

+0

Bueno, al menos para proyectos de servicios web, cuando se inician, los puntos de interrupción se activan tan pronto como el primer cliente llama a un método de servicio web. – andnil

10

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.

+0

Lo he intentado, pero no detendrá la ejecución cuando encuentre un punto de interrupción. Necesito detenerme en puntos de ruptura, ¿hay alguna forma 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!) –

+0

Busqué en Google cómo solucionarlo pero parece un montón de problemas. No pude hacer que funcione. Usaré la solución I Have the Hat mientras tanto. Gracias. – sker

8

Cuando se abre por primera vez un proyecto web/aplicación, realice una Ctrl - F5, que es el acceso directo para iniciar la aplicación sin depurar. Luego, cuando posteriormente pulse F5 y ejecute el depurador, usará esa instancia de IE. Luego detenga e inicie la depuración en Visual Studio en lugar de cerrar IE.

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

Firefox también permanecerá abierto para que pueda depurar en una o ambas al mismo tiempo.

+0

¡Oye, 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 IE. ¿Sabes cómo puedo evitar eso? – sker

+0

Lo siento sker, no sé la respuesta a eso; no me pasa lo mismo, por lo 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. –

+0

No funciona para mí ... –

6

Parece haber 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 opción No abra la página en Proyecto -> {Nombre del proyecto} propiedades ... como señaló Pawel Krakowiak, pero no tiene ningún efecto en mi caso en absoluto. Sin embargo, está el principal proyecto de nube en el explorador de soluciones y está la carpeta Roles debajo de él. Si hago clic derecho mi papel Web en esta carpeta y elegir Propiedades, consigo otro grupo de opciones y en la ficha configuración no es el navegador lanzamiento para bandera, después de no marcándola en una ventana nueva del navegador no se abre en inicio de la aplicación.

11

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

Abrir el archivo launchsettings.json en la carpeta de inicio Propiedades del proyecto y añadir "launchBrowser": false para el perfil que está configurando, como por ejemplo en:

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

Miré por encima de las respuestas y no vi el solución que encontré mencionada. Si lo fue, mis disculpas. En mi caso, actualmente estoy usando Visual Studio 2015. En el explorador de soluciones, haga clic con el botón derecho en el archivo de Proyecto y haga clic en Propiedades. Vaya a la pestaña Depuración y esta debería contener información sobre cómo está ejecutando "IIS Express o Web (DNX)" para los dos primeros menús desplegables, y luego debe haber una casilla de verificación para "Iniciar URL:". Desmarque esta opción y su navegador no se lanzará automáticamente cada vez que vaya a depurar su aplicación. Espero que esto ayude a alguien.

2

respuesta actualizada para un proyecto Web API .NET Core ...

Desmarque la casilla de verificación 'Iniciar navegador' (activado por defecto).

enter image description here

0

Si bien hay varios excelentes respuestas, que van desde usual suspects a newer soluciones, me gustaría ofrecer una más a la carga que se ocupa de lo que debe hacer cuando se está trabajando en una solución con varios proyectos.

Antes de llegar a esta solución, me quedé mirando bindingInformation en el applicationhost.config de la solución, sin descanso en busca de cualquier indicio de por qué las cosas simplemente no funcionaban.

Resulta que, la cosa sencilla que me daba era que los diferentes proyectos tienen configuraciones individuales también.

Por lo tanto, además de Project > {Project-Name} Properties... > Web > Start Action en mi proyecto de back-end, también tuve que ir a Website > Start Options... > Start Action en mi proyecto frontend. Una vez allí, seleccioné Don't open a page. Wait for a request from an external application y he estado feliz desde entonces.

Backend Settings Frontend Settings

Cuestiones relacionadas