Невозможно создать виртуальный каталог у вас нет разрешения на доступ к файлу конфигурации iis
Важно понимать различие между разрешениями веб-сервера и разрешениями NTFS. В отличие от разрешений NTFS, разрешения веб-сервера действуют для всех пользователей, получающих доступ к узлам веб и FTP. Разрешения NTFS применяются к конкретным пользователям или группам пользователей, для которых существуют действительные учетные записи Windows. NTFS управляет доступом к физическим каталогам на сервере, тогда как разрешения веб и FTP управляют доступом к виртуальным каталогам на узле веб или FTP. Для получения дополнительных сведений см. Веб- и FTP- узлы.
Разрешения на доступ к узлам веб и FTP по умолчанию используют учетную запись Windows IUSR_имяКомпьютера. Эта учетная запись применяется, когда пользователи осуществляют доступ к узлу с использованием анонимной проверки подлинности. По умолчанию учетная запись IUSR_computername получает от IIS разрешения NTFS на физические каталоги, включающие узел веб или FTP. Можно, однако, изменить эти разрешения для любого каталога или файла на узле. Например, имеется возможность с помощью разрешений веб-сервера указать, разрешается ли посетителям веб-узла просматривать определенную страницу, загружать данные или выполнять сценарии на узле. Дополнительные сведения см. в разделе Об управлении доступом.
Важно!
- В оснастке Internet Information Services выберите веб-узел, виртуальный каталог или файл и откройте вкладки его свойств.
- На вкладке Домашний каталог, Виртуальный каталог или Файл установите или снимите соответствующий флажок (если флажок доступен).
- Чтение (выбрано по умолчанию) Пользователи могут просматривать содержимое и свойства файла или каталога.
- Запись Пользователи могут изменять содержимое и свойства файла или каталога.
- Доступ к тексту сценария Пользователи получают доступ к исходным файлам. Если выбрано разрешение «Чтение», исходный текст может быть прочитан. Если установлено разрешение «Запись», можно производить запись и в исходные тексты. «Доступ к тексту сценария» разрешает доступ к исходным текстам сценариев, например сценариев в приложении ASP. Этот параметр недоступен, если не установлено хотя бы одно из разрешений «Чтение» или «Запись».
- Обзор каталогов Пользователи могут просматривать списки файлов и семейства
- Запись в журнал Запись в журнал делается для каждого посещения веб-узла.
- Индексация каталога Позволяет службе индексации создать индекс для ресурса. Это позволяет выполнять поиск по данному ресурсу.
- Отсутствуют Сценарии, такие как приложения ASP или исполняемые файлы на сервере, не выполняются.
- Только сценарии Выполняются только сценарии на сервере, такие как приложения ASP или исполняемые файлы.
- Сценарии и исполняемые файлы Выполняются все сценарии, такие как приложения ASP или исполняемые файлы на сервере.
Примечания
- Отключение разрешения веб-сервера, такого как «Чтение», запрещает просмотр файла для всех пользователей вне зависимости от разрешений NTFS, заданных для учетных записей пользователей. При включении разрешения пользователи получат возможность просматривать файл, если это не запрещено имеющимися разрешениями NTFS.
- Если одновременно имеются установленные разрешения веб-сервера и разрешения NTFS, то разрешение, в явном виде запрещающее доступ, имеет преимущество над разрешением, предоставляющим доступ.
Внимание! Когда выбирается Доступ к тексту сценария, пользователи могут получить доступ к конфиденциальной информации, такой как имена пользователей и пароли, из сценариев в приложении ASP. Кроме того, они смогут изменять исходные коды программ, выполняемых на сервере, что может существенным образом повлиять на быстродействие и безопасность сервера. Доступ к функциям и данным этого типа лучше всего осуществлять через отдельные учетные записи Windows и методы проверки подлинности высшего уровня, такие как краткая и встроенная проверка подлинности.
- В оснастке Internet Information Services выберите веб-узел, виртуальный каталог или файл и откройте вкладки его свойств.
- На вкладке Домашний каталог, Виртуальный каталог или Файл установите или снимите соответствующий флажок.
- Чтение Пользователи могут просматривать содержимое файлов.
- Запись Пользователи могут изменять содержимое файлов.
- Запись в журнал Пользователи могут просматривать содержимое файлов журналов.
Для получения дополнительных сведений об этих параметрах нажмите кнопку Справка на соответствующей вкладке.
После установки Visual Studio 2012 и открытия моего решения я получаю серию ошибок в этой форме:
Проект веб-приложения Foo настроен на использование IIS.
Не удалось получить доступ к метабазе IIS. У вас недостаточно прав для доступа к веб-сайтам IIS на вашем компьютере.
Я получаю это для каждого из наших веб-приложений. Вещи, которые я пробовал:
- Запуск Visual Studio в качестве администратора
- Запуск aspnet_regiis.exe -ga MyUserName
- Запуск aspnet_regiis.exe -i
Это, кажется, общие решения для этой проблемы, но я не имел с ними никаких успехов. Есть ли что-нибудь еще, что я могу попытаться сделать?
ОТВЕТЫ
Ответ 1
Спасибо всем, кто ответил.. Поскольку это было закрыто надолго, я не мог дать много отзывов, но в конце концов я исправил свою проблему. Я попробовал многие из этих других решений, и они не исправили мою проблему, но я уверен, что они помогают, когда основная причина отличается.
Мое решение
Ответ 2
В Windows 8 Pro:
В Windows 7 и 8.1 и 10
(Где %systemroot% обычно C:\Windows )
Перейдите в соответствующее место выше в проводнике Windows. Вы будете заблокированы доступом со всплывающим окном, в котором говорится:
"У вас нет доступа к этой папке - нажмите" Продолжить ", чтобы навсегда получить доступ к этой папке"
Нажмите "продолжить" для этой папки и папку "Экспорт" внизу. Я изменил ярлык на "Запуск от меня" (член домена и локальных администраторов) и смог открыть и развернуть решение.
Ответ 3
Я думаю, что вы не используете визуальную студию с правами администратора. Посмотрите, что:
Решение этого просто: запустите Visual Studio с помощью "Run as Администратор. Вы можете сделать это, щелкнув правой кнопкой мыши ярлык и выбрав" Запуск от имени администратора".
Ответ 4
Попробуйте и дайте мне знать, если это поможет!
Примечание. Мы запускаем IIS 7.5 в Windows 7, используя Visual Studio 2005 и 2010, и делаем вещи с помощью супер-старой школы WebServices (.asmx).
Ответ 5
Я решил эту проблему, предоставив разрешения идентификации IIS AppPool для %systemroot%\inetsrv\config
Ответ 6
Если вы работаете над проектом, который не требует использования IIS, тогда обходным путем для открытия проекта с этой ошибкой является просто щелчок правой кнопкой мыши по разгруженному проекту и нажмите "Изменить", выполните поиск:
и установите USEIIS в значение false
перезагрузите проект, щелкнув его правой кнопкой мыши после сохранения изменений.
Ответ 7
У меня было две отдельные проблемы, связанные с этой ошибкой, и подумал, что я поделюсь.
Ответ 8
В окне 81 из командной строки администратора используйте:
Затем вернитесь в VS, щелкните правой кнопкой мыши на неудавшемся проекте, выберите "Обновить".
Ответ 9
У меня была эта проблема - симптомы были одинаковыми, но проблема была в том, что я установил папку "Мои документы" на сетевой ресурс, и этот ресурс был недоступен.
Коренная проблема заключалась в том, что конфигурационные файлы IIS, расположенные в% USERPROFILE%\Documents, недоступны. Как только я изменил местоположение папки "Мои документы" (я изменил значение reg), он снова начал работать.
Я знаю, что это может быть не обычный сценарий, с которым вы можете столкнуться, но я разместил его здесь, потому что он дает те же симптомы.
Ответ 10
У меня была эта проблема сегодня, и я обнаружил, что я не открыл VS как "Запуск от имени администратора". После этого я смог опубликовать Сервис.
Ответ 11
Я столкнулся с этим сегодня и устранил проблему, удалив IISUrl из файла проекта:
- Щелкните правой кнопкой мыши проект
- Нажмите "Изменить"
Удалите следующую строку:
Ответ 12
Если у вас есть права администратора, щелкните правой кнопкой мыши значок Visual Studio > свойства, а затем расширенный, "Запуск от имени администратора". Вы можете запустить визовую студию в качестве администратора напрямую. Таким образом, формально и так основательно.
Ответ 13
В дополнение к answer от @nologo мне также пришлось использовать IIS. Поэтому я изменил
- Открыл решение и обеспечил загрузку проекта.
- Закрыть решение и этот экземпляр Visual Studio
- Снова измените значение на "True".
- Откройте решение. На этот раз я не получил никаких ошибок/предупреждений. Я мог бы также работать с Ctrl + F5 или F5 без каких-либо проблем, пока мой проект был сопоставлен с веб-сайтом IIS.
Ответ 14
Вы можете столкнуться с этой проблемой и иметь ту же проблему, что и я. Я "решил" это раньше, а затем отключил питание и компьютер, но не уверен, что параметр реестра вернулся, но это SOURCE моей проблемы.
- Я пробовал работать как администратор
- Все IIS/IIS выражают повторную установку.
- Различные "хаки"
Пришел к исправлению реестра снова.
Невозможно, чтобы администратор даже открыл regedit (необходимо получить доступ к реестру, так как проблема не с шаблоном администратора gpedit.msc)
UnHookExec.inf на рабочем столе
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Папки пользовательской оболочки\Личные, указывающие на несуществующие файлы. Изменение этой проблемы на локальном пути помогло мне решить эту проблему. - Pasi Savolainen Jul 14 '14 в 8:41
(изменено с \\cs2data\home\stickelt\my documents на c:\dev )
Теперь ВСЕ хорошие и Visual Studio открыли решение с 15 проектами и подключились к IIS и не жалуются на невозможность доступа к метаданным iis
Я никогда не сталкивался с этим раньше, так как никто в текущей работе не имел этой проблемы (многие были здесь долгое время, некоторые из них получили клоны других машин, которые "работали", а многие из них находятся в другом домене и т.д.)
Ответ 15
У меня также была аналогичная проблема. Мое решение - это расширение ответа "Запуск от имени администратора", который, надеюсь, кто-то найдет полезным.
Я запускал VS2012 и почти каждый раз, когда мне приходилось делать правый клик, запускать как администратор. Я устал от этого, поэтому вместо этого я включил его свойства в ярлык, нажал кнопку "Дополнительно", а затем нажал кнопку "Запуск от имени администратора". Теперь VS2012 всегда работает как администратор, когда я открываю его из этого ярлыка.
Важное значение имеет тот бит. Я перешел к ветвлению моего проекта и загрузил ветку в новую локальную папку. Затем, когда я открыл его из ярлыка, у меня не было проблем. Но если я попал прямо в папку и запускал проект локально без ярлыка, он не выполнял как администратор, и я получил эту ошибку.
Как только я сначала открыл VS2012, а затем использовал File/Open/Project, он снова не работал. (потому что я работал как администратор). Но я не запускался как admin, когда я открыл решение с помощью диспетчера файлов Windows.
Другие предложения кажутся несколько экстремальными, но это довольно просто, поэтому я бы попробовал сначала попробовать.
Надеюсь, это было полезно.
Ответ 16
Шахта заключалась в том, что пул приложений просто отключен. Я снова включил его, и все было хорошо.
Ответ 17
Еще одна вещь, которую вы могли бы попробовать:
- Проверьте наличие ожидающих обновлений Windows.
- Если вы это сделаете, перезагрузитесь, прежде чем пытаться что-либо еще.
Я стараюсь никогда не закрывать свою машину, поэтому у меня их было много, ожидая перезагрузки. И это исправило это.
Ответ 18
Изменение этого ключа работало для меня:
HKEY_CURRENT_USER\Программное обеспечение\Microsoft\Windows\CurrentVersion\Explorer\Папки пользовательской оболочки\Личные
Местоположение не существует.
Ответ 19
Я пробовал все выше. Кредит относится ко всем ответам выше. Пробовав все предложения самостоятельно, я только собрал эту комбинацию предложений в том порядке, который имел для меня смысл. Обратите внимание, что папка "Мои документы" находится на общем диске. Материал subst/IISExpress не применяется, если вы не находитесь в одной лодке.
Кроме того, поскольку папка "Мои документы" находится на диске общего доступа, у меня были проблемы с IIS Express. Я не использую/как IIS Express, но Visual Studio жаловалась на это.
- В расширенном приглашении cmd запустите subst U: c:\Temp . Создал C:\Temp\Documents\ и скопировал папку IISExpress из моего U-диска.
- Создал CustomUserHome ключ HKCU\Software\Microsoft\IISExpress с помощью C:\Temp\Documents\IISExpress
- Это позволило мне получить Visual Studio, чтобы открыть мои веб-проекты и отредактировать свойства. Я изменил проекты для хранения настроек веб-сервера в файле пользователя и настроил его на использование настраиваемого URL-адреса (не уверен, что это было необходимо).
- Я могу/не должен запускать команду subst при каждом перезапуске. Не волнует.
И после того, как 3 раза бросил полотенце и потратил примерно
6 часов, я могу открыть веб-проекты в Visual Studio (обновление до 2015 года).
Ответ 20
У меня была такая же проблема со мной сегодня. И я нахожу это раздражающим. Хотя у меня есть два других веб-сайта, которые уже разрабатываются из того же IIS, но все еще не смогли создать новый сайт. Странно, но я сделал это.
- Удалить сайт из IIS
- Создайте новый сайт, дайте ему имя "new_site"
- Выберите Application Pool, кроме самого имени сайта. Таким образом, он не будет испорчен настройками по умолчанию.
- Сохранять IP-адрес "неназначенный", если вы используете его на одном компьютере.
- дать ему несколько неиспользуемых портов
- Запустите Visual Studio как "Запуск от имени администратора", щелкнув правой кнопкой мыши на исполняемом ярлыке VS.
- Все готово!
Вам не нужно отключать/переустанавливать что-либо, кроме того, что я изложил, поскольку он работает.
Дайте мне знать, если у кого-то была такая же проблема, как и у меня, и решили так же. Я думаю, что это была не проблема, а неправильный способ создания веб-сайта на localhost, который Visual Studio отвергает для открытия.
Я надеюсь, что это поможет новичкам.
Ответ 21
- Создайте ярлык для "devenv.exe"
- выберите опцию "Запуск от имени администратора" для ярлыка
- doble нажмите на короткую вырезку и снова откройте свой проект.
Ответ 22
Откройте командную строку визуальной студии и введите команду ниже и запустите aspnet_regiis -ga машинное имя \ASPNET После выполнения указанной выше команды Reset IIS и протестируйте приложение, которое решит вашу проблему.
Если вышеприведенная команда не решит вашу проблему, попробуйте выполнить команду ниже в командной строке Visual Studio
aspnet_regiis -i Кроме того, мы можем запускать команду выше из командной строки Windows и
Перейдите в меню "Пуск" и откройте "Выполнить" и введите "ОК"
Ответ 23
Перейдите в корневую директорию вашего проекта и найдите следующий файл:
Если это само по себе не работает, попробуйте следующее и повторите попытку:
YourProjectName.csproj - внутри основного файла проекта убедитесь, что для параметра UseIIS и UseIISExpress установлено значение false:
После этого я смог снова загрузить проект.
Примечание. Убедитесь, что вы запускаете VS в качестве администратора, как указано в других ответах.
Ответ 24
Ответ 25
У меня была аналогичная проблема. Visual Studio не загружал веб-проекты и не показывал ошибку: создание виртуального каталога < myproj: myport > не смогли. Не удалось получить доступ к метабазе IIS.
В моем случае это был IISExpress, который был в корне проблемы. Щелкнув правой кнопкой мыши на IIS Express в программах и функциях панели управления и выбрав ремонт, исправил проблему менее чем за две минуты.
Ответ 26
Я использую Win 8 Pro и VS 2013. Попробовав все на этой странице. Я просто переустановил IIS Express 8, и теперь все работает нормально (даже без запуска в качестве администратора).
Мое заключение состоит в том, что это довольно общая ошибка, и есть несколько основных причин.
Ответ 27
Вы можете решить эту проблему, фактически сняв флажки инструментов IIS в списке функций Windows. Затем восстановите установку Visual Studio 2013 и убедитесь, что веб-разработчик проверен. Он установит IIS 8, с которым VS будет работать хорошо.
Ответ 28
У меня была та же проблема. Для меня это было то, что я использовал те же самые документы, что и при предыдущей установке Windows. Просто удаление папки IISExpress из моих документов сделало трюк.
Ответ 29
Отключение UAC с помощью GPEDIT устранило проблему.
Ответ 30
У меня была такая же проблема после добавления функции из этой ссылки после этого я последовал за в этой статье проблема исчезла.
Важно понимать различие между разрешениями веб-сервера и разрешениями NTFS. В отличие от разрешений NTFS, разрешения веб-сервера действуют для всех пользователей, получающих доступ к узлам веб и FTP. Разрешения NTFS применяются к конкретным пользователям или группам пользователей, для которых существуют действительные учетные записи Windows. NTFS управляет доступом к физическим каталогам на сервере, тогда как разрешения веб и FTP управляют доступом к виртуальным каталогам на узле веб или FTP. Для получения дополнительных сведений см. Веб- и FTP- узлы.
Разрешения на доступ к узлам веб и FTP по умолчанию используют учетную запись Windows IUSR_имяКомпьютера. Эта учетная запись применяется, когда пользователи осуществляют доступ к узлу с использованием анонимной проверки подлинности. По умолчанию учетная запись IUSR_computername получает от IIS разрешения NTFS на физические каталоги, включающие узел веб или FTP. Можно, однако, изменить эти разрешения для любого каталога или файла на узле. Например, имеется возможность с помощью разрешений веб-сервера указать, разрешается ли посетителям веб-узла просматривать определенную страницу, загружать данные или выполнять сценарии на узле. Дополнительные сведения см. в разделе Об управлении доступом.
Важно!
- В оснастке Internet Information Services выберите веб-узел, виртуальный каталог или файл и откройте вкладки его свойств.
- На вкладке Домашний каталог, Виртуальный каталог или Файл установите или снимите соответствующий флажок (если флажок доступен).
- Чтение (выбрано по умолчанию) Пользователи могут просматривать содержимое и свойства файла или каталога.
- Запись Пользователи могут изменять содержимое и свойства файла или каталога.
- Доступ к тексту сценария Пользователи получают доступ к исходным файлам. Если выбрано разрешение «Чтение», исходный текст может быть прочитан. Если установлено разрешение «Запись», можно производить запись и в исходные тексты. «Доступ к тексту сценария» разрешает доступ к исходным текстам сценариев, например сценариев в приложении ASP. Этот параметр недоступен, если не установлено хотя бы одно из разрешений «Чтение» или «Запись».
- Обзор каталогов Пользователи могут просматривать списки файлов и семейства
- Запись в журнал Запись в журнал делается для каждого посещения веб-узла.
- Индексация каталога Позволяет службе индексации создать индекс для ресурса. Это позволяет выполнять поиск по данному ресурсу.
- Отсутствуют Сценарии, такие как приложения ASP или исполняемые файлы на сервере, не выполняются.
- Только сценарии Выполняются только сценарии на сервере, такие как приложения ASP или исполняемые файлы.
- Сценарии и исполняемые файлы Выполняются все сценарии, такие как приложения ASP или исполняемые файлы на сервере.
Примечания
- Отключение разрешения веб-сервера, такого как «Чтение», запрещает просмотр файла для всех пользователей вне зависимости от разрешений NTFS, заданных для учетных записей пользователей. При включении разрешения пользователи получат возможность просматривать файл, если это не запрещено имеющимися разрешениями NTFS.
- Если одновременно имеются установленные разрешения веб-сервера и разрешения NTFS, то разрешение, в явном виде запрещающее доступ, имеет преимущество над разрешением, предоставляющим доступ.
Внимание! Когда выбирается Доступ к тексту сценария, пользователи могут получить доступ к конфиденциальной информации, такой как имена пользователей и пароли, из сценариев в приложении ASP. Кроме того, они смогут изменять исходные коды программ, выполняемых на сервере, что может существенным образом повлиять на быстродействие и безопасность сервера. Доступ к функциям и данным этого типа лучше всего осуществлять через отдельные учетные записи Windows и методы проверки подлинности высшего уровня, такие как краткая и встроенная проверка подлинности.
- В оснастке Internet Information Services выберите веб-узел, виртуальный каталог или файл и откройте вкладки его свойств.
- На вкладке Домашний каталог, Виртуальный каталог или Файл установите или снимите соответствующий флажок.
- Чтение Пользователи могут просматривать содержимое файлов.
- Запись Пользователи могут изменять содержимое файлов.
- Запись в журнал Пользователи могут просматривать содержимое файлов журналов.
Для получения дополнительных сведений об этих параметрах нажмите кнопку Справка на соответствующей вкладке.
Я пытаюсь использовать IIS Express 8 для сайта MVC в VS2012. Я получаю следующую ошибку, когда я пытаюсь создать сайт:
именем: ?C:UsersxxxxxxDocumentsIISExpressconfigapplicationHost.config
Ошибка: не удается записать файл конфигурации
есть ли способ заставить IIS Express использовать другое место для папок config & logs? Я понимаю, что могу указать на другое место, когда я бегу. iisexpress.exe из командной строки, но я не контролирую это при использовании Visual Studio.
кроме того, у кого-нибудь есть предложения, почему происходит ошибка? (Примечание: мой ноутбук находится в корпоративной среде, которая имеет глупое шифрование в папке "документы", однако у меня не было никаких проблем с другим программным обеспечением, которое сохраняет в этом месте. Я также предоставил группе " все " полный доступ к папке.)
- добавлен HKCUSoftwareMicrosoftIISExpressCustomUserHome раздел реестра, указывающий на мой альтернативный каталог
- добавлен HKCUSoftwareMicrosoftIISExpress8.0 CustomUserHome раздел реестра, указывающий на мой альтернативный каталог
- добавил HKLMSoftwareMicrosoftIISExpressCustomUserHome раздел реестра, указывающий на мой альтернативный каталог
- добавлен HKLMSoftwareMicrosoftIISExpress8.0 CustomUserHome раздел реестра, указывающий на мой альтернативный каталог
- установка переменной среды %IIS_USER_HOME%, указывающей на мой альтернативный каталог.
какие-то другие предложения?
У меня только что была такая же проблема. Удаление шифрования в папке IISExpress и атрибут "только для чтения" решили его. В моей компании документы также зашифрованы, но я не думаю, что удаление этого шифрования из IISExpress будет проблемой любого рода.
надеюсь, что это помогает.
Я также нахожусь в корпоративной среде с шифрованием в папке "пользователи", и удаление шифрования и удаление флагов только для чтения во всем, что в папке IISExpress работало для меня.
подробнее: я даже не мог открыть проект, так как открытие его не удастся.
Я мог бы получить предыдущие наборы изменений, и они действительно откроются нормально, но если я получу последние проекты не могут быть открыты.
устранение: в моем случае оказалось, что когда мы меняли серверы TFS, кто-то добавил ".vs" папка для управления версиями вместе со всем остальным. Под которым один разработчик имел свой applicationhost.config настроить для запуска сайтов на диске D:\, в то время как у меня не было такого диска D:\ (Ну, это был DVD-привод.) Я смог получить эту работу, найдя предыдущий набор изменений с неизмененным applicationhost.config и замена моего локального файла. (Я бы попытался вообще удалить папку, но я не пошел по этому пути.)
после этого мы удалили ".vs " папка из системы управления версиями.
вы можете проверить это, загрузив Prcocess Monitor и запустите его с фильтром для "Путь" содержит "\Documents\IISExpress\config", а затем попробуйте изменить проект на использование IIS Express. Если есть запись CreateFile с результатом 0xC0190052 как один из последние записи, то это та же проблема.
Читайте также: