Нераспознанный атрибут 'targetFramework'. Обратите внимание, что имена атрибутов чувствительны к регистру

Я пытаюсь загрузить мой сайт, и я получаю это сообщение об ошибке:

Непризнанный атрибут 'targetFramework'. Обратите внимание, что имена атрибутов чувствительны к регистру.

<compilation debug="true" targetFramework="4.0">

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

Ответ 1

Обычно это происходит, когда у вас есть атрибут targetFramework="4.0" в web.config, но в пуле приложений установлен для запуска ASP.NET 2.0. Атрибут targetFramework полностью не распознается ASP.NET 2.0 - поэтому его изменение до 2.0 не будет иметь желаемого эффекта.

Обратитесь в службу поддержки/Администратор и включите приложение AppPool 4.0.

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

Ответ 2

Регистрация структуры с помощью IIS - это то, что сработало для меня:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i

Ответ 3

откройте свой IIS (введите inetmgr в run) и измените настройку пула приложений. Чтобы просмотреть большое изображение, щелкните правой кнопкой мыши изображение и откройте изображение на новой вкладке enter image description here

Ответ 4

В IIS

Нажмите "Пулы приложений"

Щелкните правой кнопкой мыши по умолчаниюAppPool --- → Установите пул приложений по умолчанию....--- → Измените .Net-версию на V 4.0.

Ответ 5

В меню Visual Studio:

Веб-сайт → Параметры запуска → вкладка сборки → Выбрать целевую платформу в раскрывающемся списке (.NET FrameWork 4)

Ответ 6

Я столкнулся с той же проблемой при публикации своих первых веб-сервисов. Я решил это, просто сделав это:

  1. Откройте IIS

  2. Нажмите на пулы приложений

  3. Щелкните правой кнопкой мыши DefaultAppPool => Установить пул приложений по умолчанию => Изменить версию .Net на V 4.0. (Вы также можете изменить .Net Framework Версия вашего приложения специально)

Надеюсь, это сработает.

Ответ 7

для IIS 7 попробуйте в соответствии с приведенным рисунком... пометьте меня полезным, если он работает для вас.

enter image description here

Ответ 8

Мне пришлось регистрировать ASP.Net в IIS, чтобы разрешить его в Windows Server 2008 R2. Sreenshot команд, приведенных ниже

cd /d C:\Windows\Microsoft.NET\Framework\v4.0.30319

iisreset /stop

aspnet_regiis -i

iisreset /start

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll'].allowed:True 

%systemroot%\system32\inetsrv\appcmd set config /section:isapiCgiRestriction /[path='%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll'].allowed:True 

enter image description here

Ответ 9

Измените пул приложений на целевую среду 4.0 вместо классической.

  • Веб-сайт RC → управлять сайтом- > расширенные настройки >
  • первый вариант изменяется от классического к интегрированному фрейму 4.

Ответ 10

Открыть проект → нажмите Shift + F4 (Открыть страницу свойств) → Выберите Создать → в Целевая структура выбрал .NET Framework 4 → OK

Ответ 11

Я использую IIS Express, а не IIS.

Проблема была в файле applicationhost.config, расположенном в: {solution_folder} \. vs\config\applicationhost.config.

В одной из записей пула приложений было значение managedRuntimeVersion "v2.0". Я изменил его на "v4.0", и он работал правильно.

Я уверен, что основной причиной был один из пакетов NuGet, которые я недавно установил.

    <system.applicationHost>
       <applicationPools>
          <add name="BadAppPool1" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />
       </applicationPools>
    </system.applicationHost>

Ответ 12

Создайте новый пул, выбрав .Net Framework v4.0.3xxxxx

используйте режим управления конвейером: встроенный

Назначьте его на свой сайт и выполните.

Ответ 13

Чтобы устранить эту проблему, просто нажмите значок "Версия ASP.NET" в разделе "Инструменты сайта" панели управления, чтобы переключить фреймворк на 4.0.

Ответ 14

У меня была эта ошибка из неудавшейся компиляции MSBuild в файле проекта, преобразованном из более ранней версии VS в VS2010 и .NET 4.0. Это был проект веб-развертывания, и решение, которое работало для меня, заключалось в добавлении следующих записей в раздел PropertyGroup в начале файла MSBuild:

<ProductVersion>10.0.11107</ProductVersion>

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Может быть, они автоматически обновляются при преобразовании других типов проектов в VS2010, но после его преобразования они отсутствовали в файле проекта веб-развертывания.

Ответ 15

Что я сделал: Я изменил значение пула приложений на DefaultAppPool с предыдущего значения. Вы делаете это в дополнительных настройках (Веб-сайт → Управление сайтом → Дополнительные настройки > ).

Ответ 16

Просто это было в VS 2010.

Исправлено путем редактирования файла .sln и изменения TargetFrameworkMoniker для присвоения ему значения ".NETFramework, Version% 3Dv4.0".

Ответ 17

У меня также возникла та же проблема при локальном запуске приложения, которое указывает на .Net Framework 4.7.1. Ошибка была " Нераспознанный атрибут TargetFrameWork ", как показано ниже. enter image description here

Но ни один из приведенных ответов не помог мне. Наконец, когда я изменил свой текущий номер порта (1413) на какое-то другое значение (60179), как показано ниже, оно работало нормально для меня. Но я не уверен по фактической причине, но это сработало.

enter image description here

Ответ 18

Если вы скомпилируете файлы, а значение "targetFramework" установлено как конкретная версия, то есть 4.0,

Убедитесь, что хост работает .net framework, как указано в той же версии.

Если нет, загрузите .net framework.

После загрузки, если в диспетчере IIS не задано автоматическое использование расширения недавно загруженной версии .net framework,

добавьте расширение вручную, перейдя в папку недавно загруженной .net framework. ЧЕРЕЗ менеджер IIS:

папка с папкой 1.right-click

2.go в "Свойства"

3. "виртуальный каталог", нажмите "Конфигурация"

4. введите исполняемый путь расширения ".aspx" (из которого путь указывается на версию, отличную от версии недавно загруженного .net-фреймворка) на правильный путь, который является папкой новой загруженной версии .net, а затем выберите файл "aspnet_isapi.dll".

5.click ok!

Ответ 19

Просто удалите "Target Framework 4.0" и закройте скобок.

Будет работать

Ответ 20

Выполните следующие два шага:

Зарегистрируйте версию .net версии 4.0 (если она не зарегистрирована)

  • C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 > aspnet_regiis -i

  • В пуле приложений измените .net framework на v4.0

Ответ 21

Если вы устанавливаете IIS после установки .Net FrameWork. Вам необходимо снова установить инфраструктуру .net для IIS. Итак, все, что нам нужно сделать, это запустить aspnet_regiis -i. Надеюсь, это полезно.

Ответ 22

Выскалило ошибку "Неизвестный атрибут" targetFramework "на странице" Консольный выход "Jenkins на сервере сборки. Это произошло после того, как я изменил "целевую структуру" для нескольких проектов с ".NET Framework 3.5" на ".NET Framework 4" и внес свои изменения.

В Jenkins параметры проекта должны были быть изменены. Для решения "MSBuild Version" пришлось изменить с "v3.5" на "v4.0".

Ответ 23

Просто эта проблема была связана с развертыванием нового приложения в старом ящике IIS. Расследование привело к установке версии v4.5.1, но приложение, требующее v4.5.2

Ничего, кроме установки правильной версии ASP.Net, требуется.

Ответ 24

Возможно, у вас есть собственный файл proxy MSBUILD и вы используете задачу <AspNetCompiler>. В этом случае вы должны добавить ToolPath для .NET4.

<AspNetCompiler
    VirtualPath="/MyFacade"
    PhysicalPath="$(MSBuildProjectDirectory)\MyFacade\"
    TargetPath="$(MSBuildProjectDirectory)\Release\MyFacade"
    Updateable="true"
    Force="true"
    Debug="false"
    Clean="true"
    ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\">      
</AspNetCompiler>

Ответ 25

Для наслаивания, Просто измените версию targetFramework только в файле web.config, другие вещи не нуждаются в изменении.

Ответ 26

У меня была та же проблема, и я нашел этот хороший скрипт на Poweshell для обновления всех ваших пулов приложений одновременно: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20

Обязательно установите $IISAppPoolDotNetVersion = "v4.0" в верхней части.

Ответ 27

следующие 2 шага приведут к принудительному обновлению кэша Visual Studio и IIS Express и, как правило, устранят мои похожие проблемы

  1. Просто переключите Project Framework с 4+ на .Net Framework 3.5 и запустите его.
  2. Если он запустился успешно, вы можете вернуть его обратно к желаемой целевой структуре 4+ и увидеть, что он, вероятно, снова заработает.

Ответ 28

Для тех, у кого есть тот, у кого нет IIS, работающего на их dev-компьютере, вот что со мной произошло: у меня был один веб-сайт, перезаписанный с файлов с сайта diff, который был 4, в то время как предыдущий был 3.5. Получил эту ошибку. Исправлено просто путем изменения имени каталога веб-сайта, который на dev-ПК может быть чем угодно, поэтому проблем нет. Вышеупомянутые, вероятно, более элегантные, но, возможно, простые работы, ЕСЛИ вы можете с ним справиться, т.е. Вы находитесь в dev, а не в QA или Prod.