Я пытаюсь загрузить мой сайт, и я получаю это сообщение об ошибке:
Непризнанный атрибут '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 - это то, что сработало для меня:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
откройте свой IIS (введите inetmgr в run) и измените настройку пула приложений. Чтобы просмотреть большое изображение, щелкните правой кнопкой мыши изображение и откройте изображение на новой вкладке
В IIS
Нажмите "Пулы приложений"
Щелкните правой кнопкой мыши по умолчаниюAppPool --- → Установите пул приложений по умолчанию....--- → Измените .Net-версию на V 4.0.
В меню Visual Studio:
Веб-сайт → Параметры запуска → вкладка сборки → Выбрать целевую платформу в раскрывающемся списке (.NET FrameWork 4)
Я столкнулся с той же проблемой при публикации своих первых веб-сервисов. Я решил это, просто сделав это:
Откройте IIS
Нажмите на пулы приложений
Щелкните правой кнопкой мыши DefaultAppPool => Установить пул приложений по умолчанию => Изменить версию .Net на V 4.0. (Вы также можете изменить .Net Framework Версия вашего приложения специально)
Надеюсь, это сработает.
для IIS 7 попробуйте в соответствии с приведенным рисунком... пометьте меня полезным, если он работает для вас.
Мне пришлось регистрировать 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
Измените пул приложений на целевую среду 4.0 вместо классической.
Я использую 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>
Открыть проект → нажмите Shift + F4 (Открыть страницу свойств) → Выберите Создать → в Целевая структура выбрал .NET Framework 4 → OK
Создайте новый пул, выбрав .Net Framework v4.0.3xxxxx
используйте режим управления конвейером: встроенный
Назначьте его на свой сайт и выполните.
Что я сделал: Я изменил значение пула приложений на DefaultAppPool с предыдущего значения. Вы делаете это в дополнительных настройках (Веб-сайт → Управление сайтом → Дополнительные настройки > ).
У меня была эта ошибка из неудавшейся компиляции MSBuild в файле проекта, преобразованном из более ранней версии VS в VS2010 и .NET 4.0. Это был проект веб-развертывания, и решение, которое работало для меня, заключалось в добавлении следующих записей в раздел PropertyGroup в начале файла MSBuild:
<ProductVersion>10.0.11107</ProductVersion>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
Может быть, они автоматически обновляются при преобразовании других типов проектов в VS2010, но после его преобразования они отсутствовали в файле проекта веб-развертывания.
Чтобы устранить эту проблему, просто нажмите значок "Версия ASP.NET" в разделе "Инструменты сайта" панели управления, чтобы переключить фреймворк на 4.0.
У меня также возникла та же проблема при локальном запуске приложения, которое указывает на .Net Framework 4.7.1. Ошибка была " Нераспознанный атрибут TargetFrameWork ", как показано ниже.
Но ни один из приведенных ответов не помог мне. Наконец, когда я изменил свой текущий номер порта (1413) на какое-то другое значение (60179), как показано ниже, оно работало нормально для меня. Но я не уверен по фактической причине, но это сработало.
Просто это было в VS 2010.
Исправлено путем редактирования файла .sln и изменения TargetFrameworkMoniker для присвоения ему значения ".NETFramework, Version% 3Dv4.0".
следующие 2 шага приведут к принудительному обновлению кэша Visual Studio и IIS Express и, как правило, устранят мои похожие проблемы
У меня была та же проблема, и я нашел этот хороший скрипт на Poweshell для обновления всех ваших пулов приложений одновременно: https://gallery.technet.microsoft.com/scriptcenter/How-to-set-the-IIS-9c295a20
Обязательно установите $IISAppPoolDotNetVersion = "v4.0"
в верхней части.
Для наслаивания, Просто измените версию targetFramework только в файле web.config, другие вещи не нуждаются в изменении.
Возможно, у вас есть собственный файл 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>
Просто эта проблема была связана с развертыванием нового приложения в старом ящике IIS. Расследование привело к установке версии v4.5.1, но приложение, требующее v4.5.2
Ничего, кроме установки правильной версии ASP.Net, требуется.
Выскалило ошибку "Неизвестный атрибут" targetFramework "на странице" Консольный выход "Jenkins на сервере сборки. Это произошло после того, как я изменил "целевую структуру" для нескольких проектов с ".NET Framework 3.5" на ".NET Framework 4" и внес свои изменения.
В Jenkins параметры проекта должны были быть изменены. Для решения "MSBuild Version" пришлось изменить с "v3.5" на "v4.0".
Если вы устанавливаете IIS после установки .Net FrameWork. Вам необходимо снова установить инфраструктуру .net для IIS. Итак, все, что нам нужно сделать, это запустить aspnet_regiis -i
. Надеюсь, это полезно.
Выполните следующие два шага:
Зарегистрируйте версию .net версии 4.0 (если она не зарегистрирована)
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319 > aspnet_regiis -i
В пуле приложений измените .net framework на v4.0
Просто удалите "Target Framework 4.0" и закройте скобок.
Будет работать
Если вы скомпилируете файлы, а значение "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!
Для тех, у кого есть тот, у кого нет IIS, работающего на их dev-компьютере, вот что со мной произошло: у меня был один веб-сайт, перезаписанный с файлов с сайта diff, который был 4, в то время как предыдущий был 3.5. Получил эту ошибку. Исправлено просто путем изменения имени каталога веб-сайта, который на dev-ПК может быть чем угодно, поэтому проблем нет. Вышеупомянутые, вероятно, более элегантные, но, возможно, простые работы, ЕСЛИ вы можете с ним справиться, т.е. Вы находитесь в dev, а не в QA или Prod.