Ошибка HTTP 500.19 - Не удается прочитать файл конфигурации

20

В одном из моих приложений ASP.NET неожиданно я не могу запустить его в Visual Studio 2013 из-за ошибки, отображаемой ниже. Похоже, что он пытается открыть web.config из пути, который даже не существует. Весь код проекта, включая web.config, находится в папке C: \ Projects \ SourceCode \ AFEManager \ Trunk \ AFEManager.Web. Я нашел несколько сообщений здесь у пользователей, которые испытывают подобную ошибку, но решения, похоже, меняются, и ни один из них, который я нашел до сих пор, не применим к моей ситуации. Я смотрел в этом каталоге TraceLogFiles и в последнем файле журнала было пять дней, так что, очевидно, он ничего не записывал, так как у меня была эта проблема. Любые предложения приветствуются.

    
задан PongGod 21.05.2014 в 17:20
источник
  • Такая же ошибка здесь, вы ее исправили? –  Yann39 28.05.2014 в 11:08
  • Я думаю, что вчера нашел решение вчера. Я скоро обновляю сообщение. К сожалению, похоже, эта ошибка может возникать при различных обстоятельствах, поэтому очень возможно, что мое решение не сработает для вас. –  PongGod 28.05.2014 в 16:41

9 ответов

19

Мне удалось решить эту проблему, хотя я не могу сказать, что полностью понимаю все детали. Я попытаюсь описать ситуацию, насколько я ее понимаю, и, надеюсь, другие с большим пониманием могут добавить дополнительные разъяснения.

После выполнения всех моих разработок на моей рабочей станции было предложено начать эту работу в новой среде VM, которая была настроена для меня. Поэтому я установил там VS 2013 и скопировал исходный код из разных проектов. Однако вместо того, чтобы следовать моему предыдущему соглашению о локальном пути C: \ Projects \ SourceCode [ProjectName] ... на этот раз я решил использовать каталоги, настроенные во время установки VS, c: \ users [MyUser] \ Мои документы \ Visual Studio 2013 \ Projects [ProjectName]. Когда-то вскоре после этого наша команда инфраструктуры внесла изменения, так что мой домашний каталог c: \ users \ rmayer теперь указывался на общий сетевой диск, \ totalsafety \ TSUsers \ rmayer. Все продолжало работать без каких-либо проблем.

Однако из-за различных трудностей, с которыми я работал в этой среде VM, я решил вернуться к выполнению моей работы по разработке на своей рабочей станции, используя исходные локальные пути для моего исходного кода. Это когда я начал сталкиваться с ошибками, описанными выше, всякий раз, когда я пытаюсь запустить свой код через VS. Я начал изучать, что есть файл applicationhost.config, который использует IIS Express здесь: \ totalsafety \ TSUsers \ rmayer \ My Documents \ IISExpress \ config. Он содержит записи для каждого из моих веб-проектов; тот, который имеет отношение к этому вопросу, имеет раздел, который выглядит следующим образом:

        <site name="AFEManager.Web-Site" id="8">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Users\rmayer\Documents\My Web Sites\AFEManager.Web-Site" />
            </application>
            <application path="/AFEManager" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="C:\Projects\SourceCode\AFEManager\Trunk\AFEManager.Web" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:19257:localhost" />
            </bindings>
        </site>

Атрибут физического пути, указанный в разделе applicationPool="Clr4IntegratedAppPool", был установлен на основе локального пути, который я использовал во время работы в среде VM. Теперь, когда этот один файл делится независимо от того, работаю ли я локально или внутри виртуальной машины из-за перемещения домашних каталогов пользователей, этот путь недействителен, когда я работаю с моей рабочей станции. Обновляя этот путь до C: \ Projects \ SourceCode \ AFEManager \ Trunk \ AFEManager.Web, он теперь корректно работает с моей рабочей станции.

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

    
ответ дан PongGod 02.06.2014 в 19:44
  • Это был отличный намек. Мы клонировали машину, а затем переименовали физическую папку в соответствии с окружающей средой. Забыл обновить путь для виртуального приложения под ним. –  gbs 11.05.2015 в 04:01
17

В моем случае я удалил все папки в папке D: \ Мои документы \ Мои веб-сайты \ перед Тогда я поймал ошибку В папке моего решения есть файл .vs \ config \ applicationhost.config Он содержит ссылку на удаленную папку. Итак, я удалил applicationhost.config, а затем нажал кнопку «Создать виртуальный каталог» на моей веб-странице свойств проекта. Он был воссоздан файл и папка

    
ответ дан MirrorBoy 10.11.2016 в 09:45
  • Удаление папки .vs для меня –  Crackerjack 07.01.2017 в 18:57
  • Удаление приложенияhost.config и создание нового виртуального каталога –  tatigo 06.02.2018 в 22:20
6

Я изменил путь виртуального каталога в vs \ config \ applicationhost.config внутри папки решения.     

ответ дан Meghna Reddy 05.01.2017 в 21:41
  • Добро пожаловать в переполнение стека! Пожалуйста, не добавляйте «спасибо» в качестве ответов. Потратьте некоторое время на сайт, и вы получите достаточные привилегии для ответа на ваши вопросы, которые вам нравятся, а это способ переполнения стека сказать спасибо. Если вы являетесь автором вопроса, вы также можете отметить ответ как принятый. –  FelixSFD 05.01.2017 в 21:43
2

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

    
ответ дан Amir Chatrbahr 22.07.2015 в 02:39
2

Вы можете изменить путь для web.config к его реальному пути в файле applicationhost.config. Этот файл находится в папке /.vs/config.

После изменения пути в этом файле сохраните его и перезапустите проект, он решил мою проблему.

Это происходит потому, что у меня разные рабочие станции, но проект сохраняется в разных папках.

    
ответ дан HoganDevelopementAddicted 02.08.2017 в 15:34
1

У меня возникла эта проблема, когда я переместил папку проекта на новую машину. Проблема в том, что VS имеет сайт, зарегистрированный в его файле конфигурации ( applicationhost.config ) внутри папки .vs/ , но не создал папку внутри %USERPROFILE%\My Documents\My Web Sites\ . Если вы просто нажмете Создать виртуальный каталог внутри свойств проекта (вкладка «Веб»), этого будет недостаточно.

  1. Сначала закройте свой VS и удалите папку .vs/ внутри каталога решений.
  2. Повторно запустите VS и нажмите «Создать виртуальный каталог» внутри свойств проекта (вкладка «Веб»). VS снова зарегистрирует сайт и создаст соответствующую папку внутри %USERPROFILE%\My Documents\My Web Sites\
ответ дан dzitkowskik 02.01.2018 в 12:44
0

Спасибо PongGod !! Я не могу прокомментировать ваш ответ, но я все равно хотел опубликовать его, поскольку у меня была такая же проблема при запуске экземпляра Orchard . В моем случае все отлично работало, пока я не нашел кучу старых файлов проектов, расположенных в:

%USERPROFILE%\My Documents\My Web Sites\

И начал удалять их без видимых причин. Затем я попытался запустить Orchard из Visual Studio в режиме отладки и получил сообщение об ошибке выше. После применения того же исправления к моему файлу applicationhost.config все работает нормально.

В моем случае я предполагаю, что каталоги запутались, потому что я изначально запускал файлы Orchard по умолчанию из Visual Studio и из веб-матрицы. Затем я загрузил полные исходные файлы и начал запускать файлы из совершенно другого каталога. Еще раз спасибо.

    
ответ дан hvaughan3 23.12.2014 в 21:24
  • Рад, что мой опыт был полезен для вас! –  PongGod 24.12.2014 в 02:49
0

У меня возникла одна и та же проблема, и я разрешаю это довольно просто. Моя проблема возникла после того, как я выполнил операцию слияния в git-репозитории, после операции слияния Visual Studio каким-то образом изменил URL-адрес проекта по умолчанию на URL-адрес по умолчанию моего компьютера партнера, откуда он в последний раз нажал мой репозиторий. Итак, вот как я решил эту ошибку:

  1. Просто перейдите к свойствам проекта.
  2. В левом вертикально выровненном меню выберите «Веб».
  3. После того, как вы создадите URL-адрес проекта и текстовое поле, содержащее номер порта по умолчанию, теперь просто в стороне от этого текстового поля есть кнопка «Создать виртуальный каталог».
  4. Нажмите эту кнопку, и там вы идете. Он снова укажет url по умолчанию текущую рабочую папку вашего проекта.

Надеюсь, что это сработает для вас всех.

    
ответ дан Hassaan Baig 10.02.2017 в 12:51
0

Вот решение, которое я нашел.

Ссылка

(1) Найдите файл applicationhost.config в | YourSolution | \ .vs \ config

(2) Модифицируйте VirtualPirectory PhysicalPath Для вашего проекта.

(3) Перезапустить решение. Начать проект.

(4) Если он все еще не работает, попробуйте проверить настройку в конфигурации IISExpress. Если настройки сайта не установлены, скопируйте и вставьте этот параметр в | UserOnYourComputer | \ Documents \ IISExpress \ config \ applicationhost.config

(5) Измените идентификатор на другой идентификатор, который не будет использоваться в IISExpress applicationhost.config.

(6) Запустите свой проект.

    
ответ дан Epic Chen 07.09.2017 в 04:39