Не удается прочитать файл конфигурации из-за недостаточных прав доступа - PullRequest
317 голосов
/ 11 апреля 2011

Недавно я столкнулся с ошибкой при попытке разместить мой сайт asp.net с IIS.Я нашел решение, которое многие клянутся.

Решение:

  1. Добавить IIS_IUSRS с разрешением на чтение файлов в папке
  2. Изменить метод проверки подлинности IISBasicAuthentication
  3. обновить сайт.Это будет работать

(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)

Что я могу добавить в свой файл web.config? Мне никогда не приходилось редактировать его раньше. Вот еготекущее содержимое:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

Моя ошибка:

Ошибка конфигурации: невозможно прочитать файл конфигурации из-за недостаточных прав доступа
Файл конфигурации: \? \ C: \ Users ***** \ Documents \ Visual Studio2010 \ Веб-сайты \ PointsForTime \ web.config

Ответы [ 36 ]

3 голосов
/ 25 сентября 2012

Я использовал subst для создания отображения из D: в C:, чтобы сохранить те же настройки, что и для других разработчиков в команде.Это также дало мне те же ошибки, как описано.Удаление это исправило это для меня.

2 голосов
/ 08 января 2018

Все приведенные ответы действительны и работают при разных обстоятельствах.

Для меня перезапуск Visual Studio работал.

1 голос
/ 03 июня 2015

Изменение идентификатора модели процесса на LocalSystem устранило эту проблему для меня.Вы можете найти этот параметр, если щелкнуть правой кнопкой мыши пул приложений и выбрать «Дополнительные параметры».Я использую IIS 7.5.

1 голос
/ 24 ноября 2014

Для меня ошибка обнаружилась во время отладки на моем локальном компьютере и оказалась связана с базовым web.config, который инициируется .NET Framework при компиляции сайта. Мой файл C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config содержал нераспознанный элемент (folderLevelBuildProviders). Исправление это исправило ошибку 500.19.

См. Это: Диспетчер IIS не может настроить компиляцию .NET в приложениях .NET 4

1 голос
/ 05 октября 2016

Щелкните правой кнопкой мыши Web.Config => вкладка Безопасность => Кнопка Изменить => Кнопка Добавить => Кнопка Дополнительно => Кнопка Найти сейчас => В результатах поиска выберите свою группу (в нашем случае «IIS_IUSRS») => Ok => Хорошо => Хорошо

1 голос
/ 04 января 2019

Это может произойти, если ваше приложение находится в виртуальном каталоге, а путь к файлам - подключенный диск.

Если вы измените путь к файлам на локальный диск, это решит проблему, если это действительно ваша проблема.

1 голос
/ 19 января 2017

Я решил эту проблему, добавив разрешение на чтение в папку для пользователя пула приложений (WIN SERVER 2008 R2): C: \ Windows \ System32 \ inetsrv \ config

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

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

1 голос
/ 16 февраля 2017

Перенесите ваш проект на диск, отличный от C: у меня с такой же ошибкой.

1 голос
/ 22 октября 2016

Это произошло с нами, когда приложение IIS имеет Виртуальный каталог с Физическим путем , который содержит вместо них косые черты / обратной косой черты \ . Это было случайно сделано с использованием API управления PowerShell для IIS во время нашего непрерывного процесса доставки.

Пример неверной конфигурации - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite/MyService" />
</application>

Убедитесь, что атрибут physicalPath не содержит прямой косой черты / , только обратной косой черты \

Пример исправленной конфигурации - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite\MyService" />
</application>
1 голос
/ 27 ноября 2017

Убедитесь, что ваш файл web.config не помечен только для чтения

...