Подтвердить что ты не робот

IIS Express 8 - Не удается записать файл конфигурации

Я пытаюсь использовать IIS Express 8 для сайта MVC в VS2012. При попытке создать сайт я получаю следующую ошибку:

Имя файла:? \\ C:\Users\хххххх\Documents\IISExpress\Config\applicationHost.config
Ошибка: невозможно записать файл конфигурации

Есть ли способ заставить IIS Express использовать другое место для папок конфигурации и журналов? Я понимаю, что могу указать на другое место, когда я запускаю iisexpress.exe из командной строки, но я не могу контролировать это при использовании Visual Studio.

В качестве альтернативы, есть ли у кого-нибудь какие-либо соображения, почему происходит ошибка? (Боковое примечание: мой ноутбук находится в корпоративной среде, в которой есть глупое шифрование в папке "Документы", однако у меня не было проблем с другим программным обеспечением, которое сохраняется в этом месте. Я также дал группе "Все" доступ к папке.)

РЕДАКТИРОВАТЬ. После выполнения инструкций в http://learn.iis.net/page.aspx/1286/iis-80-express-readme/ я все еще не могу заставить это работать. Я пробовал следующее:

  • Добавлен раздел реестра HKCU\Software\Microsoft\IISExpress\CustomUserHome, указывающий на мой альтернативный каталог
  • Добавлен раздел реестра HKCU\Software\Microsoft\IISExpress\8.0\CustomUserHome, указывающий на мой альтернативный каталог
  • Добавлен раздел реестра HKLM\Software\Microsoft\IISExpress\CustomUserHome, указывающий на мой альтернативный каталог
  • Добавлен раздел реестра HKLM\Software\Microsoft\IISExpress\8.0\CustomUserHome, указывающий на мой альтернативный каталог
  • Установка переменной окружения% IIS_USER_HOME%, указывающей на мой альтернативный каталог.

Любые другие предложения?

4b9b3361

Ответ 1

@Брэд

У меня была такая же проблема только сейчас. Удаление шифрования в папке IISExpress и атрибут "Только для чтения" разрешили его. В моей компании документы также зашифрованы, но я не думаю, что удаление этого шифрования из IISExpress было бы проблемой любого рода.

Надеюсь, что это поможет.

Ответ 2

Я также в корпоративной среде с Encryption в папке пользователей и удаляю шифрование и удаляю только флаги только для чтения на все, что находится в папке IISExpress.

Ответ 3

Для кого-то, кто придумал это; это может быть та же проблема: http://connect.microsoft.com/VisualStudio/feedback/details/878812/use-iis-express-is-broken-in-vs-2012-on-windows-8-1

Вы можете проверить его, загрузив Prcocess Monitor и запустив его с фильтром для "Путь", который содержит "\Documents\IISExpress\config" и затем попробуйте изменить проект на использование IIS Express. Если есть запись CreateFile с результатом 0xC0190052 как одна из последних записей, то это та же проблема.

Ответ 4

У меня было очень похожее сообщение об ошибке, вызванное совершенно другой проблемой.

Ошибка:

C:\VS\TFS_Projects\SomeSolution\SomeProject\SomeProject.csproj: ошибка: Создание виртуального каталога http://localhost:55063/ failed с ошибкой: Имя файла: \\?\C:\VS\TFS_Projects\SomeSolution.vs\config\applicationhost.config Ошибка: Не удается записать файл конфигурации из-за недостаточных разрешений

Подробнее: я даже не мог открыть проект, так как открытие его не получится.

Я мог бы получить предварительные изменения, и они действительно откроются нормально, но если бы я получил последние, проекты не могли быть открыты.

Решение.. В моем случае оказалось, что когда мы сменили серверы TFS, кто-то добавил папку ".vs" в исходный элемент управления вместе со всем остальным. В соответствии с этим у одного разработчика был установлен его applicationhost.config для запуска сайтов на диске D: \, в то время как у меня не было такого диска D:\(ну, это был DVD-привод.) Я был чтобы получить эту работу, найдя предыдущий набор изменений с измененным приложением applicationhost.config и заменив мой локальный файл. (Я мог бы попытаться фактически удалить папку, но я не пошел по этому пути.)

Затем мы удалили папку ".vs" из исходного элемента управления.

(Я поставил это решение здесь, потому что там, где Google приземлился на меня, поэтому другие люди, имеющие это сообщение об ошибке, могут найти, что вышеупомянутые решения не исправляют его для них, и, следовательно, у них может возникнуть эта проблема.)

Ответ 5

Добавление записи в реестр, похоже, сработало, однако использование переменных среды в записи реестра не помогло. В моей среде перенаправляется только наш каталог документов, поэтому я просто хотел переместить каталог конфигурации IIS Express на один уровень в каталог% USERPROFILE%. Однако это не сработало. IIS Express читал переменную среды буквально и, конечно, не запускался.

Ответ 6

У меня была такая же проблема, прежде чем запускать VisualStudio в качестве администратора (Run as Administrator).

Ответ 7

У меня также возникла проблема, и я попытался исправить ее, установив ключ реестра в HKCU\Software\Microsoft, который не работал.

Ошибка, которую я сделал, использовала HKCU, потому что, поскольку у меня нет прав на редактирование реестра под обычной учетной записью (которую я использую для запуска visual studio), я использовал административную учетную запись. Тогда, конечно, HKCU был для этого.

Итак, я просто использовал HKEY_USERS\ "мой обычный SID пользователя", а при запуске iisexpress.exe вручную он создал свои файлы в указанном месте. Что все еще не сработало, это использование iisexpress из visual studio. По-прежнему казалось, что VS вообще не использовал настройку реестра.

Наконец, я прибегал к настройке пути UNC для файлов папок Folders\Personal и User Shell Folders\Personal в HKU\ "мой обычный SID пользователя" \Software\Microsoft\Windows\CurrentVersion\Explorer \, который сделал трюк.

Ответ 8

C:\Users\хххххх\Documents\IISExpress\Config\applicationHost.config

Снимите флажок атрибута только для чтения из файла. Это сработало для меня.

Ответ 9

Я получил ту же ошибку, но в другом контексте. Открытие проекта (файл .csproj), предоставленного другим разработчиком, вернуло эту ошибку и ничего не сделало:

Создание виртуального каталога http://localhost:58753/
Ошибка с ошибкой: Имя файла: \?\C:\Users\xxxxx\Documents\Clients\xxx\Gen II\ххх\против\Config\ApplicationHost.config Ошибка: невозможно записать файл конфигурации

Я удалил как шифрование, так и атрибут R/O из каталога, содержащего файлы проекта, и применил его ко всем подпапкам и файлам. Теперь Visual Studio может читать проект.