Я пытаюсь загрузить свой сайт и получаю следующее сообщение об ошибке:
Нераспознанный атрибут targetFramework. Обратите внимание, что имена атрибутов чувствительны к регистру.
<compilation debug="true" targetFramework="4.0">
Сайт отлично работает на моем локальном ПК, но не открывается, когда я загружаю его на свой хост и пытаюсь просмотреть его в Интернете.
Ответы:
Обычно это происходит, когда у вас есть атрибут
targetFramework="4.0"
в файле web.config, но пул приложений настроен на запуск ASP.NET 2.0. ЭтотtargetFramework
атрибут полностью не распознается ASP.NET 2.0, поэтому изменение его на 2.0 не даст желаемого эффекта.Обратитесь в службу поддержки / к администратору и переключите AppPool на 4.0.
Вы также можете полностью удалить атрибут, однако, если ваш сайт был написан на 4.0 Framework, то я уверен, что что-то еще вызовет ошибку.
источник
Регистрация фреймворка в IIS - вот что у меня сработало:
источник
В IIS
Нажмите на пулы приложений
Щелкните правой кнопкой мыши DefaultAppPool --- >> Установить пул приложений по умолчанию ....--- >> Измените версию .Net на V 4.0.
источник
откройте свой IIS (введите inetmgr при запуске) и измените настройку пула приложений. Чтобы просмотреть это изображение, щелкните его правой кнопкой мыши Изображение и откройте изображение на новой вкладке.
источник
В меню Visual Studio:
источник
Я столкнулся с той же проблемой при публикации своих первых веб-сервисов. Я решил это, просто сделав это:
Надеюсь, это сработает.
источник
для IIS 7 попробуйте в соответствии с приведенным рисунком ... пометьте меня полезным, если он работает для вас.
источник
Мне пришлось зарегистрировать ASP.Net в IIS, чтобы разрешить его в Windows Server 2008 R2. Скриншот команды ниже
источник
Измените пул приложений на целевой фреймворк 4.0 вместо классического.
источник
Я использую IIS Express, а не IIS.
Проблема была в файле applicationhost.config, расположенном в: {solution_folder} \. Vs \ config \ applicationhost.config.
Одна из записей пула приложений имела значение managedRuntimeVersion «v2.0». Я изменил его на "v4.0", и он работал правильно.
Я вполне уверен, что основной причиной был один из пакетов NuGet, которые я недавно установил.
источник
Открыть проект -> нажать Shift + F4 (открыть страницу свойств) -> Выбрать вариант сборки -> в Target Framework выбрать .NET Framework 4 -> ОК
источник
Создайте новый пул, выбрав .Net Framework v4.0.3xxxxx
использовать режим управления конвейером: встроенный
Назначьте его на свой сайт и готово.
источник
Чтобы устранить эту проблему, просто щелкните значок «Версия ASP.NET» в разделе «Инструменты сайта» панели управления, чтобы переключить платформу на 4.0.
источник
Я получил эту ошибку из-за неудачной компиляции MSBuild в файле проекта, преобразованном из более ранней версии VS в VS2010 и .NET 4.0. На самом деле это был проект веб-развертывания, и решение, которое работало для меня, заключалось в добавлении следующих записей в раздел PropertyGroup в начале файла MSBuild :
Возможно, они автоматически обновляются при преобразовании других типов проектов в VS2010, но их не было в моем файле проекта Web Deployment после его преобразования.
источник
Что я сделал: я изменил значение пула приложений на DefaultAppPool с предыдущего значения. Это делается в разделе «Дополнительные настройки» («Веб-сайт» -> «Управление веб-сайтом» -> «Дополнительные настройки»).
источник
У меня также возникла такая же проблема при локальном запуске приложения, которое указывает на .Net Framework 4.7.1. Ошибка была « Нераспознанный атрибут TargetFrameWork », как показано ниже.
Но ни один из приведенных ответов не помог мне. Наконец, когда я изменил свой текущий номер порта (1413) на какое-то другое значение (60179), как показано ниже, оно работало нормально для меня. Но я не уверен по фактической причине, но это сработало.
источник
Просто было это в VS 2010.
Исправлено путем редактирования файла .sln и изменения TargetFrameworkMoniker, чтобы ему было присвоено значение «.NETFramework, Version% 3Dv4.0» .
источник
Если вы компилируете файлы и значение «targetFramework» устанавливается как конкретная версия, то есть 4.0,
Убедитесь, что на хосте запущена платформа .net, как и в той же версии.
Если нет, скачайте .net framework.
После загрузки, если в диспетчере IIS не настроено автоматическое использование расширения только что загруженной версии .net framework,
добавьте расширение вручную, перейдя в папку недавно загруженного .net framework через диспетчер IIS:
1. щелкните правой кнопкой мыши папку веб-сайта
2. Перейти в «Свойства»
3. В разделе «Виртуальный каталог» нажмите «Конфигурация».
4. Отредактируйте путь к исполняемому файлу расширения «.aspx» (путь которого указывает на версию, отличную от версии недавно загруженной платформы .net), на правильный путь, который является папкой НОВОЙ загруженной версии платформы .net. и затем выберите файл "aspnet_isapi.dll".
5. нажмите ОК!
источник
Просто удалите «Target Framework 4.0» и закройте скобку.
Это будет работать
источник
Выполните следующие два шага:
Зарегистрируйте .NET Framework версии 4.0 (если он не зарегистрирован).
C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -i
В пуле приложений измените .net framework на v4.0
источник
Если вы устанавливаете IIS после установки .Net FrameWork. Вам нужно снова установить .net Framework для IIS. Так что все, что нам нужно сделать, это бежать
aspnet_regiis -i
. Надеюсь, это полезно.источник
Увидел ошибку «Нераспознанный атрибут targetFramework» на странице «Вывод на консоль» Jenkins на сервере сборки. Это было после того, как я изменил «целевой фреймворк» для нескольких проектов с «.NET Framework 3.5» на «.NET Framework 4» и зафиксировал свои изменения.
В Jenkins настройки проекта пришлось изменить. Для решения «Версия MSBuild» пришлось изменить с «v3.5» на «v4.0».
источник
Только что возникла эта проблема при развертывании нового приложения на старой коробке IIS. Расследование привело к установке v4.5.1 во время выполнения, но приложение, требующее v4.5.2
Ничего кроме установки правильной версии ASP .Net во время выполнения не потребовалось.
источник
Возможно, у вас есть собственный proj-файл MSBUILD и вы используете
<AspNetCompiler>
задачу. В этом случае вы должны добавитьToolPath
для .NET4.источник
Для наложения просто измените версию targetFramework только в файле web.config, остальные вещи не нужно менять.
источник
У меня возникла та же проблема, и я обнаружил, что этот хороший скрипт на Poweshell обновляет все ваши пулы приложений одновременно: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
Обязательно установите
$IISAppPoolDotNetVersion = "v4.0"
переменную в верхней части.источник
следующие 2 шага заставят обновить кэш Visual Studio и IIS Express и, как правило, разрешат мои похожие проблемы:
источник
Мне помогла смена номера порта для местного развития. Спасибо @Rinay Ashokan. Я выполнил всю работу по устранению неисправностей и, наконец, обнаружил, что конфигурации проекта хранятся в IIS Express для номера порта.
источник
Для тех, у кого есть это, у которых IIS не запущен на их ПК разработчика, вот что случилось со мной: у меня был один веб-сайт, перезаписанный файлами с сайта diff, который был 4, а предыдущий был 3.5. Получил эту ошибку. Исправить это просто, изменив имя каталога веб-сайта, которое на ПК разработчика может быть чем угодно, так что никаких проблем. Вышеприведенное, вероятно, более элегантно, но иногда работает просто, ЕСЛИ вам это сойдет с рук, то есть вы в dev, а не в QA или Prod.
источник