Развертывание IIS7 - дублирование 'system.web.extensions/scripting/scriptResourceHandler'
При попытке развернуть веб-сайт .net 3.5 в пуле приложений по умолчанию в IIS7 с секцией Framework, установленной в 4.0, я получаю следующую ошибку.
Существует дубликат раздел 'system.web.extensions/scripting/scriptResourceHandler' определены.
Комментирование строк нарушения также не помогло. Любые указатели на то, что мне нужно сделать или посмотреть?
Ответы
Ответ 1
Если ваш план заключается в развертывании в IIS с пулом приложений, запущенным в .net 4.0, вам нужно будет очистить файл web.config, который включает в себя весь раздел "Определения", указывающие на .net 3.5. Причина этого не в том, что эти определения разделов уже включены в корневой web.config в .NET 4.0 (см.% Windir%\microsoft.net\framework\v4.0.30319\config\machine.config), которые включают всю систему. Объявлено уже объявленное web.extensions.
Еще одно быстрое решение заключается в том, что пул приложений установлен в 2.0, как кажется, как кажется вашей машине разработки.
Ответ 2
Решением для меня было изменить версию платформы .NET в пулах приложений с v4.0 на v2.0 для пула приложений по умолчанию:
![enter image description here]()
Ответ 3
Если, как и мне, вам нужно настроить таргетинг на v4, но вы можете создавать только с .net 3.5, следуйте инструкциям here. Просто замените в свой web.config весь контент <configSections>
на:
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
Ответ 4
Установите пул приложений в 2.0, я сделал это и работал.
Ответ 5
El problema es porque el pool por defecto esta ru.net 4.0
Solucion: entrar a Administrador IIS server lado derecho establecer valores de grupos de aplicaciones.! [Введите описание изображения здесь] [1]
кармическая карьера
! [введите описание изображения здесь] [2]
Консолидация решений для централизованного управления базой данных SharePoint 2010
----- с помощью Google Translate -----
Проблема заключается в том, что пул по умолчанию. Решение Net 4.0: введите диспетчер IIS для установки значений в правой части пулов приложений.! [Введите описание изображения здесь] [1] и измените версию рамки! [Введите описание изображения здесь] [2]
Это должно решить проблему установки центра администрирования SharePoint 2010
Ответ 6
Мое приложение было приложением ASP.Net3.5 (с использованием версии 2 фреймворка). Когда приложения ASP.Net3.5 созданы, Visual Studio автоматически добавляет scriptResourceHandler в web.config. Более поздние версии .Net помещают это в файл machine.config. Если вы запустите приложение ASP.Net 3.5 с помощью пула приложений версии 4 (в зависимости от порядка установки это пул приложений по умолчанию), вы получите эту ошибку.
Когда я перешел к использованию пула приложений версии 2.0. Ошибка исчезла. Затем мне пришлось иметь дело с ошибкой при обслуживании WCF.svc:
Ошибка HTTP 404.17 - не найден Запрошенный контент выглядит как script и не будет обслуживаться обработчиком статических файлов
После некоторого расследования мне кажется, что мне нужно зарегистрировать обработчик WCF. используя следующие шаги:
- открыть командную строку Visual Studio (как администратор)
- перейдите к разделу "C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation"
- Запустить servicemodelreg -i
Ответ 7
Necromancing.
Если в вашем web.config нет конфигурационных разделов system.web.extensions или записей обработчика/модуля, эта проблема вызвана тем, что вы/кто-то еще скопировали VisualStudio-Project (2013/2015/2017) пока скрытые файлы не скрыты.
Из-за этого он будет не только копировать .git, но также и .VS
, который содержит файл IIS-Express applicationhost.config, , который указывает на файлы web.config на путей, которые не существуют (или, что еще хуже, пути, которые существуют, но не имеют одинакового содержимого)...
Решение:
Удалите файл applicationhost.config в папке .VS.
Или просто удалите папку .VS.
Visual Studio будет воссоздавать его.
Ответ 8
По-видимому, у других были (есть) эта оценка м. Они восстанавливаются в Framework 4.0. Можете ли вы?
Кроме того, ознакомьтесь с этим, чтобы убедиться, что ваш IIS свежий.
Ответ 9
В моем случае это произошло после того, как я преобразовал все решение (используя расширение под названием Target Framework Migrator) в 4.6.2, но в итоге отменил изменения и вернулся к 3.5 (решение имеет версию TFS). Чтобы решить эту проблему, я преобразовал только проблемный проект (который использовал IIS Express для запуска) в 4.6.2, а затем обратно в 3.5.
Ответ 10
Другой способ избежать этой проблемы, которая может помочь другим, - создать веб-службу .net до версии 4.0 или выше, если это возможно.
Ответ 11
В моем случае я хотел вручную добавить правило urlrewrite и не смог увидеть очевидную ошибку (я пропустил тег <rules>
):
неправильный код:
<rewrite>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rewrite>
</system.webServer>
</configuration>
правильный код (с тегом правил):
<rewrite>
<rules>
<rule name="some rule" stopProcessing="true">
<match url="some-pattenr/(.*)" />
<action type="Redirect" url="/some-ne-pattenr/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Ответ 12
В моем случае у меня было 2 разных приложения, совместно использующих один и тот же пул приложений. Первый использовал фреймворк .net4.5, а новый использовал 2.0. Когда я изменил второе приложение на свой собственный пул приложений, он начал работать нормально, без изменений в web.config.
Ответ 13
Мое решение было глупо.
-
Я установил копию .net 3.5
-
Создан еще один пул приложений и выбран .net 3.5 (он говорит 2.0.5077 в
падение)
-
Добавлен мой сайт в этот пул приложений
-
Восстановлен старый и новый пулы, и сайт начал работать.
До меня дошло, что у меня не было 3.5, даже несмотря на то, что включил функции Windows, сказанные мной и создав другой пул приложений для использования. Надеюсь, это поможет другим.
Ответ 14
Я решил это, выполнив следующие шаги:
- Я создал новую группу приложений в IIS.
- Откройте дополнительные настройки для сайта или веб-приложения, которое
Эта проблема.
- И установите новую группу приложений.
Здесь у вас есть изображения следующих шагов:
![Создать группу нового приложения]()
![После создания группы приложения]()
![Установить группу приложений на вашем сайте или веб-приложении]()
Ответ 15
Это сообщение об ошибке появляется в разных ситуациях.
В моем случае, поверх моего файла приложения Web.Config у меня был дополнительный файл Web.Config в корневой папке (C:\Inetpub\www.root). Вероятно, оставленный там после некоторых испытаний, я забыл все об этом и не мог понять, в чем проблема.
Удаление его решило проблему для меня.
Ответ 16
Это может быть неправильный ответ для вас. Но это был первый хит в Google, когда я попытался решить мою проблему. С этим сказал...
Такое же сообщение об ошибке произошло и для меня, но когда я попытался запустить IIS Express через Visual Studio.
Моя проблема заключалась в том, что я ошибочно передал свой applicationhost.config в TFS. Позже, когда я попытался запустить проект на своем ноутбуке после получения последних коммитов. что при возникновении ошибки.
Я обнаружил, что путь к виртуальному каталогу был неправильным.
<virtualDirectory path="/" physicalPath="C:\Users\giddan\Documents\Visual Studio 2015\Projects\ProjectName\DeV.ProjectName\DeV.ProjectName.Web" />
Надеюсь, что это поможет кому-то!
Это мой первый пост, так что будьте осторожны:)