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

IIS Express - 500.19 Не удается прочитать файл конфигурации - потому что он смотрит на неправильный путь

Недавно я переименовал свою корневую папку TFS с D:\TFS\systemstfs на D:\TFS\sys, потому что один из путей к проекту был слишком длинным для Windows. Теперь, когда я пытаюсь запустить другой проект (D:\TFS\sys\companydomain.com\Dev\Flowers\wsBusinessLayer) в VS2013, используя IIS Express (URL проекта http://localhost:59729/Flowers/wsBusinessLayer/) В браузере появляется следующее сообщение об ошибке:

Ошибка HTTP 500.19 - Внутренняя ошибка сервера
Запрошенная страница недоступна, так как соответствующие данные конфигурации для страницы недействительны.

Модуль - IIS Web Core
Уведомление - BeginRequest
Код ошибки - 0x80070003
Ошибка конфигурации - Не удается прочитать файл конфигурации
Файл конфигурации - \?\D:\TFS\ systemstfs\companydomain.com\Dev\Flowers\web.config
Запрошенный URL - http://localhost:59729/Flowers/wsBusinessLayer/InformationServices.asmx
Физический путь - D:\TFS\ sys\companydomain.com\Dev\Flowers\wsBusinessLayer\InformationServices.asmx

(основное внимание, D: это второй жесткий диск на моей машине, а не сетевой ресурс)

Мне ясно, в чем проблема (путь к файлу конфигурации неправильный), но я понятия не имею, как это исправить. Я пробовал:

  • Включение "прерывания исключений CLR при броске"
  • Повторное получение решения из TFS
  • Rebooting
  • Переключение на использование IIS, а затем обратно в Express
  • Googling 500.19, 0x80070003, неправильный путь, не может прочитать файл конфигурации и различные комбинации этих терминов

Но не повезло. Кто-нибудь сталкивался с этим раньше?

4b9b3361

Ответ 1

Оказывается, мне пришлось редактировать %USERPROFILE%\Documents\IISExpress\config\applicationhost.config следующим образом:

<configuration>
  <system.applicationHost>
    <sites>
      <site name="wsBusinessLayer">
        <application path="/">
           <virtualDirectory path="/Flowers" physicalPath="D:\TFS\sys\companydomain.com\Dev\Flowers" />

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

Ответ 2

Вот еще одно возможное решение, которое не включает ловушку для файла applicationhost.config:

  • Щелкните правой кнопкой мыши веб-проект > Интернет > URL-адрес проекта (например, "localhost: 5459" ), а затем увеличьте номер порта, который заставит новую запись в этом файле.

В моем случае мне также необходимо было изменить режим аутентификации, который можно выполнить с помощью:

  • Выберите веб-проект > нажмите F4 > установите для проверки подлинности Windows (включено в моем случае).

Ответ 3

В моем случае следующие изменения разрешили эту ошибку:

Откройте applicationhost.config файл из [SolutionFolder]>.vs[Hidden Folder] и измените значение атрибута overrideModeDefault в разделе windowsAuthentication с Отклонить на Разрешить. Как показано ниже.

Ответ 4

В моем случае неправильный путь был записан в папке .vs в zip-архиве, который я получил от коллеги. Обычно я получаю исходный код через репозиторий, где .vs не зарегистрирован.

Удаление папки .vs решило проблему для меня.

Ответ 5

Изменение номера порта в моем MVC-проекте разрешило мою проблему. Я больше часа ходил в поисках ответа. Спасибо, Sonic Soul.

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

Я увеличил номер порта и исправил ошибку.

Project Properties > Web > Project Url 

Использование Visual Studios 2015.

Ответ 6

Если вы используете локальный веб-сервер IIS, переименуйте собственный виртуальный каталог, сохраните и повторите попытку. После этого вы можете вернуть исходное имя.

Ответ 7

В моем случае я получил новую машину, но при попытке запустить исходный код (который копируется со старой машины) я получил эту ошибку. Удаление файла applicationhost.config из папки .vs\config в каталоге с исходным кодом решило проблему.

Ответ 8

Я получил ту же ошибку в IIS 8.5 (не экспресс)

Для меня это было потому, что я заменил папку копией и переименовал ее во время работы IIS. По какой-то причине он пошатнулся. Мне пришлось удалить определение веб-сайта из IIS и добавить его, чтобы заставить его работать.

Ответ 9

Была такая же проблема сегодня.

Изменение, вызвавшее проблему

Перенос функциональности с отдельного контроллера на домашний контроллер. Я буквально переместил представление и функциональность за ним из Controller'X ' в HomeController

Природа вопроса

  1. Все отлично работает при запуске через IIS Express/Visual Studio
  2. Все работает нормально при локальном развертывании в IIS.
  3. Ад разваливается при развертывании на машине развертывания.
  4. Работает нормально, если я развертываю на "новом сайте" в машине развертывания IIS.

исправлять

  1. удалить экземпляр сайта/пула приложений из IIS.
  2. Воссоздать их.
  3. Развертывание.

Ответ 10

В моем случае я заменяю .. в моем пути обычным путем к папке.

TL; DR

Я сделал "умный" трюк, используя относительный путь к моему файлу скрипта, так как я не хотел жестко кодировать адрес моей папки.

"C:\Program Files\IIS Express\iisexpress.exe" /path:"%~dp0..\Lagardsdorren\bin\Debug\netcoreapp2.2\publish" /port:44342

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

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

Ответ 11

Если вы используете виртуальную машину с "Shared Folders" - я использовал Workstation Pro для общего доступа к папке. Когда проект находился в "Общей папке", которая была размещена на ПК HOST, я не смог запустить проект. Перемещение проекта на "Локальный" диск решено для меня.

Ответ 12

Я решил это, зайдя в свойства проекта> Web> и нажав "Создать виртуальный каталог", и мне не пришлось менять порты.

Ответ 13

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