Развертывание 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 будет воссоздавать его.

Ответ 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" />

Надеюсь, что это поможет кому-то!

Это мой первый пост, так что будьте осторожны:)