Неопределенная ошибка Web.config в VS 2008
Я работаю над веб-приложением, использующим VS 2008, .Net 3.5 и C#. Большинство проектов в решении - это либо классические страницы asp.net, в которых немного MVC 1, а остальные - общие библиотеки. Это решение, которому уже около 5 лет, оно прошло через множество разработчиков, работающих над ним, и явно имеет некоторые проблемы с производительностью и архитектурой.
Ранее я работал над проектом с использованием VS 2008 на компьютере с Win XP, но только что перешел на новый компьютер с использованием Win 7 Ultimate. Для этого я установил VS 2008, asp.net 3.5. Для поддержки дальнейшей работы над решением я также установил VS 2010 и asp.net 4.0.
Открытие решения на новой коробке с VS 2008 работает нормально, и оно собирается без ошибок. Однако, когда я пытаюсь запустить его с помощью отладчика, я получаю следующее сообщение:
"В файле web.config есть ошибка. Пожалуйста, исправьте, прежде чем продолжить. (Вы можете переименовать текущий файл web.config и добавить новый.)"
Я думаю, что ясно, что есть какая-то экологическая проблема относительно web.config на новой машине, но сообщение об ошибке не "полезно". Добавление нового web.config не вариант, так как существующий достаточно длинный и сложный (слишком много, чтобы публиковать здесь).
Я надеюсь, что у кого-то есть предложение или два о том, где я мог бы искать недостающие элементы или измененные конфигурации, которые могли бы выдать такое сообщение об ошибке. Не имея этого, я еще раз вернусь к этому посту и предоставлю файл web.config в надежде на дальнейшую помощь.
3 ответа
Так что я не знаю, нашел ли ты когда-нибудь ответ на этот вопрос, но я столкнулся с ним сегодня в VS2013. Как ни странно, если бы у меня было web.config
откройте в окне редактора.
Для тех, кто может увидеть эту ошибку, я смог очистить ее в VS2013, удалив \bin
а также \obj
каталоги.
После этого все снова заработало...
Чтобы, возможно, дать вам лучшее представление о проблеме web.config, я бы последовал предложению переименовать текущую и добавить новую. Вы можете использовать инструмент сравнения (например, WinMerge), чтобы выяснить, в чем различия между вашим существующим файлом конфигурации и новым файлом с чистого листа.
Вы можете скопировать неиспользуемые разделы из старого в новый, например, строки подключения и настройки приложения, режимы проверки подлинности форм и т. Д. Возможно, что-то не так с разделом компилятора или что-то более специфичное для.NET Framework.
Вы вообще конвертировали проект с таргетинга на.NET 2.0 на.NET 3.5? Существует большой раздел web.config, который добавляется к 3.5 проектам, которые не требуются для проектов 2.0, касающихся компилятора, поскольку он использует отдельный компилятор для встроенного кода.aspx, чем для 2.0.
iis 7.5 (на windows 7) - это совсем другое животное, чем iis 6 (на windows xp). Есть некоторые несовместимости конфигурации. одна вещь, которая приходит на ум, - это немного другая схема для атрибутов элементов для обработчиков и модулей http. Есть другие вещи, которые отличаются. как правило, на странице ошибок, он скажет вам, что ему не нравится. я думаю, что это было там, и, возможно, вы не заметили это. или, может быть, вы ударили страницу удаленно, и на ней не было всех деталей. Я предлагаю использовать браузер на локальном компьютере и присмотреться - я уверен, что он расскажет вам, что вызывает тошноту.
Я впервые столкнулся с этой неоднозначной ошибкой сегодня в VS2019. Я добавил новую модель сущности (.edmx), которая требовала добавления новой строки подключения в отдельный проект web.config. После его добавления сразу при запуске начала вылетать ошибка. Я заметил, что существует несколько преобразований конфигурации для различных сред. После добавления недостающих преобразованных строк подключения к каждой из них эта ошибка исчезла.