2012-11-19 18 views
65

Uso Visual Studio 2010 per eseguire il debug di un progetto MVC asp.net nel mio computer locale. I passaggi sono:processo w3wp non trovato

Fare clic su Debug e provare ad attch processo "w3wp.exe". Tuttavia non è nella lista.

Sono sicuro che "Mostra processi in tutte le sessioni" sia selezionato.

+0

Se non è possibile trovare w3wp.exe, IIS non è attualmente in esecuzione. Assicurarsi che il servizio di amministrazione di IIS sia avviato, che il servizio WWW sia avviato, che il pool di applicazioni sia avviato e che venga avviato il sito Web IIS stesso. –

+0

Si sta utilizzando ** Local IIS ** (* 'w3wp.exe' *) o ** VS Development Server ** (*' WebDev.WebServer40.exe' *)? Controlla sotto Proprietà progetto -> scheda Web. – SliverNinja

+4

Hai provato a selezionare l'opzione "Mostra processo da tutti gli utenti"? –

risposta

116

w3wp.exe non verrà visualizzato nel processo in esecuzione 'a meno che non sia effettivamente in esecuzione un'istanza dell'applicazione Web.

Provare ad accedere prima alla pagina Web, quando viene visualizzata per la prima volta, provare ad allegare il debugger. Il processo dovrebbe ora apparire.

+3

Se è stato un po 'di tempo da quando hai aggiornato la pagina, il processo potrebbe essere inattivo. Svegliarlo con un aggiornamento – Ruskin

+0

Voglio schernire me stesso per non averlo ottenuto la prima volta –

+1

Sì, il sito avrebbe dovuto essere in esecuzione nel momento in cui si sta tentando di collegarsi al processo. Non deve essere sullo stesso server. – Hash

49

È necessario fare clic su Mostra processi da tutti gli utenti nella parte inferiore dell'elenco Gestione attività. Questo è quello che dovevo fare.

+0

Perfetto, grazie !!!!!!! risolto con precisione il mio problema. –

+0

Grazie, ho trascurato quella casella di controllo. – JosephRT

+1

Questo ha risolto il mio problema. Il motivo è in IIS, il processo era in esecuzione in un pool di app e non il mio utente corrente. –

1

Se si utilizza qualcosa come avanzato Resto client da verificare percorsi, chiamare il percorso di nuovo quindi aggiornare la lista dei processi e mostrerà fino

1

proprietà GoTo Web Project -> Select (Web) nella barra laterale sinistra -> Vai a sotto l'intestazione (Servers) -> Clicca sul menu a discesa e seleziona "Local IIS"

e applica. Quindi, quando avvii il debug vedrai w3wp.exe nella lista dei processi.

12
  1. Riavviare IIS
  2. Fare clic destro tuo sito >> Gestisci sito >> sfogliare
  3. Torna in Visual Studio aggiornare l'elenco dei processi
+0

Funziona per me! Grazie! – shaosh

+0

Ottimo, buona giornata! – Neph

+0

Dipende dal sito, potrebbe essere Gestisci sito Web o Gestisci applicazione. Entrambi avvieranno il processo w3wp.exe. – Milton

1

Ho appena incontrato questo problema - si può prendere in controlla anche le impostazioni dell'host e verifica che tu sia effettivamente indirizzato a localhost e non a un server di produzione.

Ho dimenticato di essere puntato su un server remoto e quindi, sebbene stavo accedendo al sito, non era nulla di locale, quindi w3wp non era in esecuzione, nonostante la mia superficiale possibilità di vedere il sito in esecuzione.

0

Vorrei condividere la mia esperienza anche per i futuri lettori.

essere consapevoli del fatto che, nel caso in cui si dispone di una configurazione di cluster di server web (per il bilanciamento del carico, ecc) il processo w3wp potrebbe non iniziare sulla stessa macchina che si aspetta.

A meno che il vostro sito web è configurato per funzionare solo su una singola istanza IIS, il processo w3wp potrebbe essere in rotazione su una delle altre macchine all'interno del cluster web.

Questa potrebbe essere una configurazione errata dal team/reparto di rete o comportamento previsto. Non ho l'esperienza necessaria per individuare esattamente come dovrebbe essere configurato.

trovato una pagina correlata su MSDN così:

https://msdn.microsoft.com/en-us/library/bb742600.aspx

0

Nel mio caso, avevo bisogno di connettersi da un Visual Studio per il processo che va dalla un'altra finestra dello studio VS.
Il problema era il seguente: un VS è stato lanciato con autorizzazioni di amministratore. Per risolvere il problema devi avviare sia VS che Admin perm.

0

Nel mio caso, il problema era che non stavo eseguendo Visual Studio come amministratore. La mia macchina era stata riavviata dopo un aggiornamento e riavviato tutti i processi precedentemente in esecuzione, ma aveva solo rilanciato VS in modalità non amministratore. Quando ho riavviato VS in modalità amministratore, i processi w3wp.exe erano di nuovo disponibili per il debug.

0

Eseguire il debugger remoto come amministratore. ho seguito ogni suggerimento per risolvere il problema, ma non è stato fino a quando mi sono imbattuto il debugger remoto come amministratore che ero in grado di vedere il processo di w3wp

0

Provare le seguenti operazioni:

  1. Creare un percorso virtuale da Solution Explorer.

  2. Passare a inetmgr per confermare che il proprio pool è stato creato.

  3. Passare a Allegare processo (Ctrl + Alt + P) e mostrare i processi per tutti gli utenti.

  4. Quindi vedrete che w3wp.exe sarà lì.

0

Essere consapevoli del fatto che, anche dopo il salto attraverso tutti questi cerchi (dando il via un'istanza utilizzando un browser web, di iniziare la sessione di debug remoto come amministratore, assicurando che "spettacolo a tutti gli utenti" è selezionata, ecc, garantendo non sei su una server farm, ecc.), a volte potresti essere sfortunato.

Ci sono volte in cui il processo remoto, di solito un servizio WCF nel mio caso, semplicemente non viene visualizzato nell'elenco dei processi a cui collegarsi, e non c'è nulla che possa essere fatto al riguardo. Sono sempre attento a rendere facilmente identificabile il mio processo di destinazione conservandolo e solo in un determinato pool di app. A volte non puoi arrivarci da qui. Questa è senza dubbio la cosa più frustrante del debug remoto che Microsoft abbia mai fatto.

0

Nel mio caso, non ho aperto Visual Studio in modalità Admin, motivo per cui w3wp.exe non è stato visualizzato nell'elenco.

Quando ho aperto Visual Studio in modalità Admin, ha funzionato.

Fare clic con il tasto destro su Visual Studio -> Apri in modalità amministratore.