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

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

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

enter image description here

4b9b3361

Ответ 1

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

Ответ 2

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

После выполнения всех моих разработок на моей рабочей станции было предложено начать эту работу в новой среде 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, он теперь корректно работает с моей рабочей станции.

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

Ответ 3

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

Ответ 4

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

  • Сначала закройте свой VS и удалите папку .vs/ внутри каталога решений
  • Повторно запустите VS и нажмите "Создать виртуальный каталог" внутри свойств проекта (вкладка "Веб" ). VS снова зарегистрирует сайт и создаст соответствующую папку внутри %USERPROFILE%\My Documents\My Web Sites\

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

%USERPROFILE%\My Documents\My Web Sites\

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

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

Ответ 8

Удалите папки .VS, созданные Visual Studio. Это может быть скрыто в структуре вашего проекта. Отобразите папки и найдите папку .vs, удалите эту папку и перестройте приложение.

Ответ 9

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

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

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

Ответ 10

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

https://gyorgybalassy.wordpress.com/2015/03/06/i-asked-for-a-vs-folder-and-the-vs-team-gave-it-to-me/

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

введите описание изображения здесь

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

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

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

введите описание изображения здесь

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

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

Ответ 11

После всех этих ответов я нахожу свое решение. Удалите веб-сайт в IIS и введите заново. Почему? Потому что я должен был создать сайт, прежде чем установить Framework 4.5 и URL Rewrite.