Unable to access the IIS metabase: come risolvere

Abbiamo già avuto modo di parlare della IIS Metabase in passato, quando abbiamo affrontato la problematica legata a come consentire l’accesso da connessioni remote (external requests) sull’istanza IIS/IIS Express di Visual Studio, ad esempio per testare applicazioni in debug-mode da dispositivi mobili. Chi ha letto l’articolo ricorderà che in quell’occasione, tra gli altri possibili workaround, abbiamo suggerito il possibile abbandono di IIS Express in favore di IIS 7.5 o superiore, una scelta che per uno sviluppatore di siti web in tecnologia .NET è prima o poi praticamente obbligata.

Il problema di abbandonare IIS Express in favore di IIS è spesso legata al verificarsi del problema legato all’impossibilità di Visual Studio – o per meglio dire dell’utente corrente – di accedere alla IIS metabase, privilegio normalmente riservato ai soli amministratori. Il problema si può manifestare a seconda dei casi tramite una finestra popup di questo tipo:

4743_error

oppure tramite un laconico messaggio nella Output Windows di Visual Studio al momento di caricare la soluzione:

 

Per risolvere il problema abbiamo due possibilità:

  • Lanciare Visual Studio con privilegi di Amministratore (tasto destro – esegui come amministratore…)
  • Autorizzare l’utente corrente all’accesso alle cartelle della IIS Metabase.

La prima soluzione ha lo svantaggio di impedire l’interoperabilità tra le finestre di Explorer interne a Visual Studio – che avranno privilegi particolari – e le finestre aperte normalmente dagli altri programmi o dal sistema – che avranno i permessi dell’utente corrente. Non sarà possibile, ad esempio, effettuare operazioni di tipo drag & drop e copia/incolla tra le prime e le seconde.

Per questo motivo la seconda soluzione risulta senz’altro la più indicata. Metterla in pratica è molto semplice, bisogna solo fare attenzione al sistema operativo utilizzato. Premete Win + E in modo da aprire una sessione di Windows Explorer, quindi portatevi con il cursore nel prompt di inserimento della path e digitate  o incollate il seguente percorso a seconda del sistema operativo utilizzato:

Windows 7, Windows 8.1 e Windows 10

Windows 8 Professional

Subito dopo aver premuto Invio, comparirà una finestra popup che vi chiederà se volete impostare un accesso permanente alla cartella per l’utente corrente:

folder.permanently.grant

Fate click su Continue, quindi ripetete la stessa identica operazione per la sottocartella \Export\ contenuta nella cartella \config\ in cui vi trovate.

Una volta fatto questo potrete lanciare Visual Studio con i privilegi dell’utente corrente e il vostro IIS funzionerà senza problemi.

Felice sviluppo!

RELATED POSTS

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

View all posts by Ryan