2012-07-12 11 views
26

Ich versuche, IIS Express 8 für eine MVC-Site in VS2012 zu verwenden. Ich erhalte die folgende Fehlermeldung, wenn ich versuche, die Site zu erstellen:IIS Express 8 - Konfigurationsdatei kann nicht geschrieben werden

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

Gibt es eine Möglichkeit IIS Express zu zwingen, einen anderen Ort für die Config-Logs & Ordner zu verwenden? Ich verstehe, dass ich auf einen anderen Speicherort verweisen kann, wenn ich iisexpress.exe von der Befehlszeile aus ausführen, aber ich habe keine Kontrolle darüber, wenn ich Visual Studio verwende.

Hat jemand sonst irgendwelche Vorschläge, warum der Fehler passiert? (Randnotiz: Mein Laptop befindet sich in einer Unternehmensumgebung, die eine dumme Verschlüsselung im Ordner "Dokumente" hat, aber ich hatte keine Probleme mit anderer Software, die an diesem Ort speichert. Ich habe auch die Gruppe "Jeder" voll gegeben Zugriff auf den Ordner.)

EDIT - Nach der Befolgung der Anweisungen unter http://learn.iis.net/page.aspx/1286/iis-80-express-readme/ kann ich immer noch nicht scheinen, dass dies funktioniert. Ich habe versucht, die folgenden:

  • hinzugefügt HKCU \ Software \ Microsoft \ IISExpress \ CustomUserHome Registrierungsschlüssel zeigt auf mein anderes Verzeichnis
  • hinzugefügt HKCU \ Software \ Microsoft \ IISExpress \ 8.0 \ CustomUserHome Registrierungsschlüssel zeigt auf mein anderes Verzeichnis
  • hinzugefügt HKLM \ Software \ Microsoft \ IISExpress \ CustomUserHome Registrierungsschlüssel zeigt auf mein anderes Verzeichnis
  • hinzugefügt HKLM \ Software \ Microsoft \ IISExpress \ 8.0 \ CustomUserHome Registrierungsschlüssel zeigt auf mein anderes Verzeichnis
  • Festlegen der Umgebungsvariable% IIS_USER_HOME%, die auf mein alternatives Verzeichnis verweist.

Irgendwelche anderen Vorschläge?

+0

Ich habe das gleiche Problem. Keine der hier genannten Lösungen hat funktioniert.Im Moment verhindert dies, dass unser Team vs 2012 annimmt. – fsl

Antwort

48

@Brad

Ich hatte Ihr gleiches Problem gerade jetzt. Durch das Entfernen der Verschlüsselung im IISExpress-Ordner und des Attributs "Nur lesen" wurde das Problem gelöst. In meiner Firma Dokumente ist auch verschlüsselt, aber ich glaube nicht, dass das Entfernen dieser Verschlüsselung von IISExpress ein Problem jeder Art wäre.

Hoffe, das hilft.

+0

Ich hatte keine Verschlüsselung eingestellt, aber ich musste das Attribut "Nur lesen" entfernen UND VS2012 als Administrator ausführen. – dbruning

+1

Verschlüsselung entfernt und nur gelesen .. Funktioniert wie ein Charme! Vielen Dank!! –

0

Das Hinzufügen des Registrierungseintrags schien jedoch zu funktionieren, wenn Umgebungsvariablen im Registrierungseintrag nicht verwendet wurden. In meiner Umgebung wird nur unser Dokumentenverzeichnis umgeleitet, daher wollte ich einfach das IIS Express-Konfigurationsverzeichnis um eine Ebene nach oben in das Verzeichnis% USERPROFILE% verschieben. Das hat jedoch nicht funktioniert. IIS Express liest die Umgebungsvariable wörtlich und konnte natürlich nicht ausgeführt werden.

5

Ich bin auch in einer Unternehmensumgebung mit Verschlüsselung im Ordner Benutzer, und Entfernen von Verschlüsselung und Entfernen der schreibgeschützten Flags für alles im IISExpress-Ordner funktionierte für mich.

2

Für jeden, der das googelt; dies könnte das gleiche Problem wie diese: http://connect.microsoft.com/VisualStudio/feedback/details/878812/use-iis-express-is-broken-in-vs-2012-on-windows-8-1

Sie können es durch Prcocess Monitor herunterladen und mit einem Filter für „Pfad“ enthält „\ Documents \ IISExpress \ config“ ausführen und dann versuchen, das Projekt zu ändern IIS zu verwenden Ausdrücken. Wenn es einen CreateFile-Eintrag mit dem Ergebnis 0xC0190052 als einen der letzten Einträge gibt, dann ist dies das gleiche Problem.

0

Ich hatte das gleiche Problem zuvor, VisualStudio als Administrator (Ausführen als Administrtor) ausgeführt, das Problem behoben.

0

Ich hatte auch das Problem und versuchte es zu beheben, indem Sie den Registrierungsschlüssel in HKCU \ Software \ Microsoft setzen, die nicht funktionierte.

Der Fehler, den ich gemacht habe, war HKCU, weil, da ich keine Berechtigung habe, die Registrierung unter dem normalen Konto zu bearbeiten (das ich zum Ausführen von Visual Studio verwende), habe ich ein Administratorkonto verwendet. Dann war HKCU natürlich dafür.

Also habe ich nur HKEY_USERS \ "meine normale Benutzer-SID" statt und, beim Starten von iisexpress.exe manuell, erstellt es seine Dateien an der angegebenen Stelle. Was immer noch nicht funktioniert hat war iisexpress von Visual Studio. Es schien immer noch, dass VS nicht die Registrierungseinstellung überhaupt benutzt haben.

Schließlich habe ich einen nicht-UNC-Pfad für Shell Folders \ Personal und User Shell Folders \ Personal in HKU \ "meine normale Benutzer-SID" \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer, die den Trick getan hat.

0

C: \ Benutzer \ xxxxxx \ Documents \ IISExpress \ config \ applicationHost.config

Uncheck die Nur-Lese-Attribut aus der Datei. Es hat für mich funktioniert.

0

erhielt ich den gleichen Fehler, aber in einem anderen Kontext. Öffnen eines Projekts (CSPROJ-Datei) von einem anderen Entwickler zur Verfügung gestellt diesen Fehler zurückgegeben und es versäumt, etwas zu tun:

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

ich die Verschlüsselung und die R/O-Attribut aus dem Verzeichnis entfernt die Projektdateien enthält, und für alle Unterordner angelegt und Dateien. Visual Studio kann jetzt das Projekt lesen.

3

Ich hatte eine sehr ähnliche Fehlermeldung von einem ganz anderen Problem verursacht hat.

Der Fehler:

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

Weitere Details: Ich nicht einmal das Projekt öffnen konnte, da das Öffnen es würde scheitern.

Ich könnte vorherige Changesets bekommen, und sie würden eigentlich gut öffnen, aber wenn ich spät bekam, konnten die Projekte nicht geöffnet werden.

Lösung: In meinem Fall, es stellte sich heraus, dass, wenn wir TFS-Server geändert, hatte jemand die „.vs“ Ordner zur Quellcodeverwaltung zusammen mit allem anderen hinzu. Unter dem hatte ein Entwickler seine applicationhost.config eingerichtet, Websites auf einem Laufwerk D: zu laufen, während ich kein solches D: \ Laufwerk hatte (nun, es war ein DVD-Laufwerk.) Ich konnte das funktioniert durch eine vorherige changeset mit der un-verändert applicationhost.config zu finden und meiner lokalen Datei zu ersetzen. (Ich hätte versuchen können, den Ordner tatsächlich zu löschen, aber ich bin diesen Weg nicht gegangen.)

Anschließend entfernten wir den Ordner ".vs" aus der Quellcodeverwaltung.

(Ich habe diese Lösung hier, weil es ist, wo Google mir gelandet, so dass andere Menschen diese Fehlermeldung, die möglicherweise die oben genannten Lösungen nicht beheben es für sie, und so könnten sie dieses Problem werden müssen. Finden)

+0

Dies scheint mein Problem zu sein, aber das Entfernen des .vs-Ordners funktioniert nur für einen Tag - am nächsten Tag haben alle Stationen wieder das Problem, aber keinen .vs-Ordner. Wir können keines unserer ASP-Projekte in der Abteilung öffnen. : - / – TaterJuice

Verwandte Themen