Я разрабатывал приложение ASP.NET 4.0 на своем локальном компьютере, и сегодня я попытался развернуть его на сервере. После развертывания я получил следующее сообщение при попытке посетить сайт в моем браузере:
Сообщение об ошибке парсера: нераспознанный атрибут targetFramework. Обратите внимание, что имена атрибутов чувствительны к регистру.
Хорошо, нет проблем. Это означает, что на сервере все еще работает ASP.NET 2.0. Я просто обновлю его, да?
Это было не так просто.
Сначала я установил .NET Framework v4.0. Я выполнил инструкции, которые нашел на эта ссылка чтобы включить библиотеки DLL ASP.NET ISAPI в IIS. Когда я запускаю «cscript iisext.vbs / listfile», я вижу перечисленные библиотеки DLL ASP.NET 4.0, и что они включены. Однако поведение моего приложения не изменилось. Я по-прежнему получаю то же сообщение об ошибке.
Я подозреваю, что мне нужно изменить версию ASP.NET в конфигурации веб-сайта в IIS. Однако я не могу найти способ сделать это. Когда я щелкаю правой кнопкой мыши веб-сайт, виртуальный каталог с моим приложением или пул приложений в IIS, а затем нажимаю «Свойства» в контекстном меню, я ожидал найти вкладку «ASP.NET» среди страниц свойств. это позволило бы мне изменить версию ASP.NET для этого сайта / приложения. Однако по какой-то причине нет вкладки «ASP.NET» или страницы свойств. Почему нет? Как мне исправить это и переключить мое приложение на .NET 4.0?
Опять же, это Windows Server 2003 R2, я считаю, что версия IIS - 6.
Я думаю, это приведет вас в правильном направлении:
Как переключить веб-сайт на ASP.NET4.0 в Windows Server 2003 IIS6.0
Попробуйте запустить aspnet_regiis.exe -i из каталога инфраструктуры .Net 2.0, если вкладка ASP.NET отсутствует.
Изменить: если вкладка ASP.NET все еще отсутствует:
Удалите IIS (включая ASP.Net)
Перезагрузите машину.
Переустановите IIS + ASP.net
Запустите aspnet_regiis -ir
Edit2: почему отсутствует вкладка ASP.net, этот пост может дать некоторые подсказки.
Я знаю, что ответ на этот вопрос уже был принят, но эта же ошибка также может возникнуть, если ваш сайт просто использует неправильный пул приложений. Убедитесь, что у вас есть пул приложений .net 4.0 или пул приложений asp.net 4.0, настроенный как активный для веб-приложения, а также убедитесь, что сам пул приложений запущен.