Lavorare con Visual Studio sulle versioni più recenti di Windows, come ad esempio Windows 10, può non essere sempre facile: il motivo è spesso legato alle nuove impostazioni di sicurezza che caratterizzano il nuovo sistema e che bloccano l'accesso a molti elementi normalmente necessari ai software di sviluppo, come l'accesso in scrittura alla cartella /Program Files/, ai file di configurazione di IIS Express, alla IIS metabase e via dicendo.
A fare le spese di tutto questo è molto spesso proprio IIS Express, prodotto che già da diversi anni è scivolato ai margini del disinteresse di casa Microsoft in favore di soluzioni più moderne (come Kestrel, come ben sanno gli sviluppatori .NET Core) ed è costantemente flagellato da problemi di vario tipo. Alcuni di questi sono già stati affrontati in questa sede, come ad esempio in questo articolo sull'impossibilità di accedere alla IIS Metabase, in questo articolo dedicato al problema delle external request e in questo approfondimento sull'errore 'Process with an ID #### is not running'.
In questo articolo parleremo di un altro errore frequente che può capitare lavorando con una soluzione ASP.NET Core o ASP.NET MVC, immediatamente dopo aver provato a lanciare l'applicazione in modalità debug:
Impossibile avviare il debug sul server Web
Fortunatamente esistono diversi workaround che possono risolvere questo tipo di errore: suggeriamo di provarli uno dopo l'altro, fermandosi soltanto quando si riesce a trovare quello che consente di risolvere il problema.
- Cancellare la cartella \Documents\IISExpress utilizzando la GUI di Esplora File oppure il seguente comando console: rmdir /s /q "%userprofile%\Documents\IISExpress"
- Cancellare il file applicationhost.config all'interno della cartella \.vs\Config\ che si trova nella directory principale della soluzione VS2015.
- Cancellare l'intera cartella \.vs\ che si trova nella directory principale della soluzione VS2015.
- Chiudere Visual Studio e lanciarlo nuovamente con privilegi di amministratore (tasto destro > Esegui come Amministratore).
- Modificare la URL casuale generata dal progetto: dalla GUI di Visual Studio, tasto destro sul nodo principale del progetto nel Solution Explorer, quindi selezionare Proprietà; selezionare la tab Web, quindi modificare il numero di porta presente nella casella di testo denominata URL del progetto.
- Aggiungere la variabile di sistema _CSRUN_DISABLE_WORKAROUNDS assegnandole valore 1 come mostrato dalla screenshot seguente (un grazie a Juan M. Elosegui per aver menzionato questa soluzione in questo topic sul sito StackOverflow e per l'immagine):
Nell'eventualità in cui riusciate a risolvere il problema, vi invitiamo a farci sapere quali tra i workaround indicati ha sortito l'effetto sperato lasciando un feedback nei Commenti in fondo a questo articolo.
Per il momento è tutto: felice workaround!
Ho utilizzato la combinazione del punto 1, 2 e 3 e il mio progetto è ripartito !
Grazie mille!!!!
Io 1 e 3 e IIS Express è tornato a fare il suo dovere!