2012-07-10 9 views
5

Ho una macchina Windows 7 impostata su Paralells.
Tutto funziona correttamente. Può accedere a Internet da IE o altri browser sui miei Parallels.Ottenere il debug di Visual Studio per funzionare durante l'esecuzione in Parallels

Tuttavia, quando si tenta di eseguire il debug di un'applicazione Web in Visual Studio 2010 (premendo F5 per esempio), viene avviato il browser predefinito in OSX, che è ottimo, con localhost: 4243 (o qualsiasi altra porta assegnata a Cassini sul mio VM)

Naturalmente, questo non trova nulla ...

che cosa devo fare per entrambi i miei paralleli VM, o le impostazioni di OSX per ottenere il debug di lavoro? cioè: il mio mac parla al vm?

risposta

8

Assicurarsi di essere sulla stessa rete.
Utilizzare IIS.
Come così:

tuo Win-macchina ha un nome, diciamo si chiama "myWin7machine". Cambia "localhost: 4243" in "myWin7machine: 4243" nel browser.

Se ciò non funziona (beh ... non dovrebbe) è possibile che il firewall sia attivo o che la rete non sia collegata. Iniziamo con il bridging.

tempo per verificare alcuni principi fondamentali - essere sulla stessa rete

Controlla il tuo indirizzo IP. È "ipconfig" sulla macchina Win e "ifconfig" sul mac; entrambi vengono eseguiti dal prompt dei comandi. L'indirizzo IP dovrebbe essere qualcosa come 10.4 .... o 192.168 ... su entrambi. L'importante è che solo l'ultimo numero sia diverso. (questo non è corretto dal punto di vista tecnico ma funziona per il 99% dei casi) Se sono uguali (tranne l'ultimo) sei collegato - il che significa che entrambe le macchine sono sulla stessa rete. Se differiscono troppo hai fatto girare la rete della macchina Win "dentro" i Mac. Vai alle impostazioni di Parallels (in Windows: sposta il mouse in alto per visualizzare il menu di Parallel e vai a Dispositivi-> Rete e qualcosa "(ponticellato)". Attendi fino a quando i palloncini scompaiono e ricontrolla nuovamente ipconfig

Verificare che è possibile ping la macchina di vittoria dalla funzionalità di Mac. ping potrebbe essere disattivato nella macchina di vittoria, ma probabilmente non lo è.

Ora sappiamo di essere sulla stessa rete.

Ancora non funziona

Si può fare http://myWin7machine:4243 dal mac? Beh ... non dovresti saperlo.

Puoi farlo dalla macchina Win? Dovresti.

IIRC Cassini non parla con estranei. Cioè non parla con nient'altro che localhost.
Se ho torto, apri la porta 4243 nel firewall sulla macchina vincente e dovresti essere pronto.

Ma altrimenti ...
È ora di cambiare server web.

Installa IIS sulla macchina da vincere.

Nel Mac: navigare su http://myWin7machine e vedere il logo IIS7.
Se non si dispone di un problema di firewall. Apri la porta 80. Prova ancora.

Se sei arrivato così lontano puoi navigare da Mac a IIS sulla macchina Win.

tempo per impostare la soluzione VS

Aprire la GUI di amministrazione di IIS. Crea un nuovo sito. Diciamo che lo chiami MyTestSite. (puoi sempre rinominarlo in un secondo momento) Indicalo sul web della tua soluzione VS. Di solito la stessa cartella in cui risiede web.config. Sulla macchina vincente: prova a navigare su "http://localhost/MyTestSite". Il tuo sito dovrebbe apparire. Potresti ricevere Apppool error.

Ora prova http://myWin7machine/MyTestSite sul Mac. Dovrebbe funzionare.

ROCK!

ora di impostare il debug in VS

Per il debug in IIS è necessario collegare al processo. In Win7 richiede privilegi elevati, quindi riavvia VS come amministratore o prova a connetterti e VS lo farà per te.
Il menu in VS è Debug-> Attach to process e si seleziona w3wp.exe.

In questo modo si esegue il debug più veloce in ogni caso, effettuando la connessione. Il riavvio del Web per ogni sessione di debug è una perdita di tempo.
Per rendere più veloce la connessione, utilizzare ctrl-alt-p e continuare con l'uso della tastiera.
Per rendere ancora più veloce la connessione, utilizzare una macro.
C'è più informazioni in questi 4 articoli: http://www.selfelected.com/tag/iis/
Impostare un punto di interruzione. Aggiorna il tuo browser e il punto di interruzione dovrebbe essere colpito.

Tempo incidere un codice

Buona fortuna!

0

Sto utilizzando Windows 10, VS 2015, Parallels 11 su iMac con OS X El Capitan (10.11.5). Di seguito sono riportati i passi che hanno lavorato per me:

Sul lato di Windows:

  1. Prendi il IP (eseguito ipconfig comando nella finestra di comando)
  2. ottenere il nome host (eseguito hostname comando nella finestra di comando)
  3. Nel pannello di controllo cercare Windows Firewall -> Impostazioni avanzate e aggiungere una nuova regola in entrata e una nuova regola in uscita. Per entrambi, assicurati di selezionare Porta, Permetti connessione, TCP e IP specifici. Ho aggiunto un intervallo di IP 45000 - 45999 ma puoi selezionare l'intervallo che ti piace.

In Visual Studio:

  1. Cercare proprietà del progetto e sotto le impostazioni Web cambio di sezione Server a guardare qualcosa di simile. enter image description here Invece di "winmac" verrà utilizzato il nome host trovato in "Windows Side - Step 2". La porta può essere qualsiasi numero all'interno dell'intervallo impostato per le regole del firewall.

In Mac OS lato:

  1. Aggiornamento /etc/hosts file. Alla fine del file aggiungi l'IP e il nome host che abbiamo trovato nei passaggi 1 e 2 della sezione "Lato Windows". Al termine di questo passaggio, il file dovrebbe essere simile a questo. enter image description here

pronto per eseguire il debug:

Ora è possibile avviare il debug nel vostro Mac da Visual Studio. Assicurati che prima di iniziare il processo di debug selezioni l'opzione "Apri in Mac" (anziché Chrome o IE nelle opzioni di debug in Visual Studio).

enter image description here