2013-02-05 9 views
15

La mia situazione:
Sto lavorando su un progetto ASP.NET MVC e eseguo il debug in IIS-Express. A volte quando creiamo un ramo temporaneo, questo ramo utilizzerà la stessa porta per il debug. Ciò significa che la directory virtuale in IIS è la stessa e non posso eseguirli entrambi contemporaneamente.Come posso consentire a Visual Studio 2012 di rilevare se è necessario rimappare le directory virtuali?

Come è abituato a lavorare in VS2010:
questo non è davvero un problema, perché io non voglio correre loro allo stesso tempo. Tuttavia, in VS2010, ricevo un avviso quando apro il ramo per la prima volta. Mi ha chiesto se volevo rimappare l'URL. Quando in seguito sono tornato per aprire il bagagliaio, riceverei lo stesso avviso (vedere https://stackoverflow.com/a/3093534/210336). The message in vs2010

Come non funziona in vs2012:
Ora in VS2012, non ho ricevuto più l'avvertimento. Se dimentico di andare manualmente alle impostazioni e premere "Crea Directory Virtuale" (Questo è successo alcune volte), poi quando clicco eseguito nel ramo, in realtà eseguirà il tronco. Questo può essere estremamente confuso. Soprattutto se provo a eseguire il debug o il sistema si interrompe su un'eccezione. Un file sorgente dal trunk verrà aperto nella soluzione filiale. Quindi penso di modificare il ramo, ma in realtà sto modificando il trunk ... The button in VS2012 that I need to press

Esiste comunque la possibilità di consentire a VS2012 di eseguire lo stesso controllo di VS2010?

Oppure sto facendo/comprendo qualcos'altro completamente sbagliato?

+2

hai mai trovare una soluzione a questo? – RMK

+0

Curioso: c'è qualche differenza nel comportamento se esegui VS come amministratore? –

+0

@ RMK, non ancora. Ci siamo spostati in Azure, quindi sto scorrendo attraverso l'emulatore dove non sembra che abbia questo problema. Tuttavia, ho scoperto che funziona in modo leggermente diverso da come pensavo inizialmente. In realtà quando apri una soluzione mappa tutto (come se tu premessi sì a tutti i prompt). Quindi l'ultima soluzione che aprirai sarà quella attuale invece della prima in cui hai mappato tutto. –

risposta

1

VS in realtà modifica il file di configurazione di IIS espresso trovato in uno di questi percorsi

%userprofile%\documents\iisexpress\config\applicationhost.config 
%userprofile%\my documents\iisexpress\config\applicationhost.config 

Quando lasciando al VS, tendo a vedere le configurazioni duplicate e conflittuali.

Per lo sviluppo locale, preferisco avviare IIS Express dallo script cmd o powershell in quanto non richiede il collegamento (ma può essere collegato) e mi dà il controllo sulla configurazione. Faccio una copia della configurazione di iis e specifica il file di configurazione nel comando iis express. Ho uno script PowerShell che imposta il percorso in base alla directory di esecuzione quindi non importa quale ramo, è sempre impostato su quello in cui sto lavorando.

Ecco alcune informazioni sull'esecuzione di iis express dalla riga di comando:

http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line

E qui è una buona risorsa per l'esecuzione di IIS express da PowerShell:

https://blog.differentpla.net/post/UaYcAPDfiVJBAAAC/running-iis-express

Problemi correlati