2009-04-04 8 views
177

Ho già una finestra aperta con il sito Web che sto eseguendo il debug. Non ho bisogno di VS per lanciare un altro per me ogni volta che ho bisogno di eseguire il debug.Arresta Visual Studio dall'avvio di una nuova finestra del browser all'avvio del debug?

C'è un modo per interrompere questo comportamento?

+0

Ti hanno permesso la navigazione a schede? .. E stai usando IE? –

+0

Ho avuto il problema opposto, ma la risposta è altrettanto utile –

risposta

262

Aprire le proprietà del progetto di avvio (Progetto -> {} Nome progetto Proprietà ... dal menu principale o il tasto destro del mouse il progetto in Esplora soluzioni e scegliere Proprietà ), quindi passare al Web Scheda e sotto Inizio azione scegliere Non aprire una pagina. Attendi una richiesta da un'applicazione esterna.

Sarà comunque possibile utilizzare qualsiasi browser (o Fiddler, qualunque sia) per accedere all'applicazione in esecuzione, ma non aprirà automaticamente la finestra del browser, inizierà solo in background e attenderà eventuali richieste.

+0

Sembra una soluzione davvero buona, ma proprio come quella di Slace, non ferma l'esecuzione ai punti di interruzione, dice che non vengono caricati simboli. Grazie comunque. – sker

+6

Lo fa. Lo uso per il debug in ogni momento. Devi avere una configurazione sbagliata. Controlla che il debug sia abilitato nel web.config e che tu stia eseguendo una build di debug. –

+0

Bene, almeno per i progetti di servizi Web, quando i breakpoint avviati vengono colpiti non appena il primo client chiama un metodo di servizio web. – andnil

10

È possibile utilizzare la funzione Collega a processo, anziché premere F5.

Questo può anche consentire di navigare tra le sezioni di lavoro note senza il rallentamento del debugger VS caricato sotto.

+0

L'ho provato, ma non fermerà l'esecuzione quando trova un punto di interruzione. Ho bisogno che si fermi ai punti di interruzione, c'è un modo per abilitarlo? Grazie. – sker

+1

a condizione che sia collegato a un processo che ha caricato esattamente gli stessi assembly che si trovano nella cartella/bin/dell'applicazione tutti i punti di interruzione funzioneranno (oh, e fornito ci sono file .pdb!) –

+0

I Google su come risolvere il problema ma sembra un sacco di problemi. Non riuscivo a farlo funzionare. Userò la soluzione I Have the Hat nel frattempo. Grazie. – sker

8

prima volta che si apre un progetto web/app, fare un Ctrl - F5, che è la scorciatoia per avviare l'applicazione senza il debug. Quindi, quando successivamente si preme F5 e si avvia il debugger, verrà utilizzata quell'istanza di IE. Quindi fermarsi e avviare il debug in Visual Studio anziché chiudere IE.

Funziona sulle mie macchine. Sto usando il web server dev integrato. Non so se questo fa la differenza.

Anche Firefox rimane aperto in modo da poter eseguire il debug in entrambi o entrambi contemporaneamente.

+0

Ehi funziona! Molte grazie. Ora posso evitare circa 100 finestre extra per sessione di codifica. Inoltre, quando colpisco F5 VS ridimensiona la mia finestra di IE. Sai come posso evitarlo? – sker

+0

Scusate sker, non conosco la risposta a questo - non succede per me, tuttavia, come sopra, quindi probabilmente c'è una risposta da qualche parte.Forse IE sta ricordando le dimensioni della finestra e non è correlato allo scenario di debug? –

+0

Non funziona per me ... –

6

Sembra esserci un caso in cui nessuno dei precedenti, ma i seguenti aiuti. Sto sviluppando un progetto per la piattaforma cloud Windows Azure e ho un ruolo web. C'è davvero un pulsante radio Non aprire la pagina nel Progetto -> Proprietà del nome del progetto ... come è stato sottolineato da Pawel Krakowiak, ma non ha alcun effetto nel mio caso. Tuttavia, c'è il progetto cloud principale in solution explorer e c'è la cartella Roles sotto di essa. Se faccio clic con il pulsante destro del mouse sul ruolo web in questa cartella e scelgo, ottengo un altro set di impostazioni e nella scheda Configurazione c'è il flag per il flag, dopo averlo deselezionato non viene aperta una nuova finestra del browser avvio dell'applicazione.

11

In un progetto ASP.Net 5 può ora essere impostato per ogni profilo di lancio.

Aprire il file launchsettings.json nella cartella di avvio Proprietà del progetto e aggiungere "launchBrowser": false al profilo che si sta configurando, come ad esempio in:

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

ho guardato oltre le risposte e non ho visto il soluzione che ho trovato menzionato. Se lo fosse, le mie scuse. Nel mio caso, attualmente utilizzo Visual Studio 2015. In Solution Explorer, fare clic con il tasto destro del mouse sul file Project e fare clic su Proprietà. Vai alla scheda Debug e questo dovrebbe avere informazioni su come stai lanciando "IIS Express o Web (DNX)" per i primi due menu a discesa, e quindi ci dovrebbe essere una casella di spunta per "URL di avvio:". Deseleziona questa opzione e il tuo browser non verrà automaticamente lanciato ogni volta che esegui il debug dell'applicazione. Spero che questo aiuti qualcuno fuori.

2

risposta aggiornato per un progetto Web Api NET Nucleo ...

la casella di controllo 'del browser Launch' (abilitato per default) Deselezionare.

enter image description here

0

Mentre ci sono diverse risposte eccellenti, che vanno da usual suspects a newer soluzioni, vorrei fornire un altro per la mischia che affronta ciò che si dovrebbe fare quando si sta lavorando su una soluzione con più progetti.

Prima del mio arrivo a questa soluzione, ho continuato a guardare al bindingInformation nel ApplicationHost.config della soluzione, senza sosta alla ricerca di qualsiasi indizio del perché le cose non stavano semplicemente lavorando.

risulta, il semplice cosa che ho trascurato è che diversi progetti sono singole impostazioni troppo.

Quindi, oltre a Project > {Project-Name} Properties... > Web > Start Action nel mio progetto back-end, ho anche dovuto andare a Website > Start Options... > Start Action sul mio progetto Frontend. Una volta lì, ho selezionato Don't open a page. Wait for a request from an external application e sono felice da allora!

Backend Settings Frontend Settings