2012-07-12 33 views
26

Sto cercando di utilizzare IIS Express 8 per un sito MVC in VS2012. Sto ottenendo il seguente errore ogni volta che tento di creare il sito:IIS Express 8 - Impossibile scrivere il file di configurazione

Filename: \?\C:\Users\xxxxxx\Documents\IISExpress\config\applicationHost.config
Error: Cannot write configuration file

C'è qualche modo per forzare IIS Express per utilizzare un percorso diverso per la configurazione & registri cartelle? Capisco di poter puntare a un percorso diverso quando sto eseguendo iisexpress.exe dalla riga di comando, ma non ho alcun controllo su questo quando si utilizza Visual Studio.

In alternativa, qualcuno ha qualche suggerimento sul perché si sta verificando l'errore? (Nota a margine: il mio laptop si trova in un ambiente aziendale che ha una crittografia stupida nella cartella "Documenti", tuttavia non ho avuto problemi con altri software che salvano in questa posizione. accesso alla cartella.)

MODIFICA - Dopo aver seguito le istruzioni allo http://learn.iis.net/page.aspx/1286/iis-80-express-readme/, non riesco ancora a funzionare. Ho provato la seguente:

  • Aggiunto HKCU \ Software \ Microsoft \ IISExpress \ CustomUserHome registro che punta chiave della mia directory alternativa
  • Aggiunto HKCU \ Software \ Microsoft \ IISExpress \ 8.0 \ CustomUserHome registro che punta chiave la mia directory alternativa
  • Aggiunto HKLM \ Software \ Microsoft \ IISExpress \ CustomUserHome registro che punta chiave della mia directory alternativa
  • Aggiunto HKLM \ Software \ Microsoft \ IISExpress \ 8.0 \ CustomUserHome registro che punta chiave della mia directory alternativa
  • Impostazione della variabile di ambiente% IIS_USER_HOME% che punta alla mia directory alternativa.

Altri suggerimenti?

+0

Ho lo stesso problema. Nessuna delle soluzioni menzionate qui ha funzionato.Al momento questo impedisce al nostro team di adottare il 2012. – fsl

risposta

48

@Brad

Ho avuto il tuo stesso problema proprio ora. Rimozione della crittografia sulla cartella IISExpress e attributo "Sola lettura" risolto. Nella mia azienda i documenti sono anche crittografati, ma non penso che rimuovere la crittografia da IISExpress sarebbe un problema di qualsiasi tipo.

Spero che questo aiuti.

+0

Non avevo impostato la crittografia, ma dovevo rimuovere l'attributo "Sola lettura" ED eseguire VS2012 come Amministratore. – dbruning

+1

Crittografia rimossa e sola lettura .. Funziona come un incantesimo! Grazie!! –

0

L'aggiunta della voce del Registro di sistema sembrava funzionare, tuttavia, non utilizzando le variabili di ambiente nella voce del Registro di sistema. Nel mio ambiente viene reindirizzato solo la nostra directory di documenti, quindi ho semplicemente voluto spostare la directory di configurazione di IIS Express su un livello nella directory% USERPROFILE%. Tuttavia, questo non ha funzionato. IIS Express legge la variabile di ambiente letteralmente e, naturalmente, non è riuscito a eseguire.

5

Sono anche in un ambiente aziendale con Crittografia nella cartella utenti e la rimozione della crittografia e la rimozione dei flag di sola lettura su tutto nella cartella IISExpress hanno funzionato correttamente.

2

Per chiunque su Google questo; questo potrebbe essere lo stesso problema: http://connect.microsoft.com/VisualStudio/feedback/details/878812/use-iis-express-is-broken-in-vs-2012-on-windows-8-1

È possibile verificarlo scaricando Prcocess Monitor ed eseguirlo con un filtro per "Percorso" contiene "\ Documenti \ IISExpress \ config" e quindi provare a modificare il progetto per utilizzare IIS Esprimere. Se esiste una voce CreateFile con il risultato 0xC0190052 come una delle ultime voci, questo è lo stesso problema.

0

Ho avuto lo stesso problema in precedenza, l'esecuzione di VisualStudio come amministratore (Esegui come amministratore) ha risolto il problema.

0

Avevo anche il problema e ho provato a risolverlo impostando la chiave di registro in HKCU \ Software \ Microsoft che non funzionava.

L'errore che ho fatto, stava usando HKCU perché, dal momento che non ho le autorizzazioni per modificare il registro sotto per account normale (che uso per eseguire Visual Studio), stavo usando un account amministrativo. Quindi, naturalmente, HKCU era per quell'account.

Quindi ho appena usato HKEY_USERS \ "SID del mio normale utente" invece e, all'avvio di iisexpress.exe manualmente, ha creato i suoi file nella posizione indicata. Ciò che ancora non funzionava era l'utilizzo di iisexpress da Visual Studio. Sembrava ancora che VS non usasse affatto l'impostazione del registro.

Infine ho fatto ricorso all'impostazione di un percorso UNC non valido per le cartelle Shell \ Personal e le cartelle Shell utente \ Personal in HKU \ "SID del mio utente normale" \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ che ha fatto il trucco.

0

C: \ Users \ xxxxxx \ Documenti \ IISExpress \ config \ applicationHost.config

Deselezionare la attributo di sola lettura dal file. Ha funzionato per me.

0

Ho ricevuto lo stesso errore ma in un contesto diverso. Apertura di un progetto (csproj file) fornito da un altro sviluppatore ha restituito questo errore e non è riuscito a fare qualsiasi cosa:

Creating of the virtual directory http://localhost:58753/
failed with the error: Filename: \?\C:\Users\xxxxx\Documents\Clients\xxx\Gen II\xxx\,vs\config\applicationhost.config Error: Cannot write configuration file

ho rimosso sia la crittografia e l'attributo R/O dalla directory contenente i file di progetto e applicata a tutte le sottocartelle e file. Visual Studio ora può leggere il progetto.

3

Ho avuto un messaggio di errore molto simile causato da un problema completamente diverso.

l'errore:

C:\VS\TFS_Projects\SomeSolution\SomeProject\SomeProject.csproj : error : Creation of the virtual directory http://localhost:55063/ failed with the error: Filename: \\?\C:\VS\TFS_Projects\SomeSolution.vs\config\applicationhost.config Error: Cannot write configuration file due to insufficient permissions

Maggiori dettagli: non potevo nemmeno aprire il progetto, come l'apertura fallirebbe.

Potrei ottenere i changeset precedenti, e in realtà si aprono bene, ma se sono arrivato i progetti più recenti non possono essere aperti.

Soluzione: Nel mio caso, si è scoperto che quando abbiamo cambiato server TFS, qualcuno aveva aggiunto la cartella ".VS" a controllo del codice sorgente insieme a tutto il resto. Sotto il quale, uno sviluppatore aveva il suo applicationhost.config impostato per eseguire siti su un'unità D: \, mentre io non avevo D: \ drive (beh, era un drive DVD.) Sono stato in grado di farlo funzionare trovando un changeset precedente con l'applicationhost.config non modificato e sostituendo il mio file locale. (Avrei potuto tentare di eliminare effettivamente la cartella, ma non ho seguito quella rotta.)

Successivamente, abbiamo rimosso la cartella ".vs" dal controllo del codice sorgente.

(io ho messo questa soluzione qui perché è dove Google mi atterrò, così altre persone che hanno questo messaggio di errore potrebbe trovare le soluzioni di cui sopra non risolvono per loro, e così si potrebbe avere questo problema.)

+0

Questo sembra essere il mio problema, ma rimuovere la cartella .vs ha funzionato solo per un giorno - il giorno dopo tutte le stazioni hanno di nuovo il problema, ma nessuna cartella .vs. Non possiamo aprire uno dei nostri progetti ASP in tutto il dipartimento. : - / – TaterJuice