Развертывание IIS7 - дубликат раздела «system.web.extensions / scripting / scriptResourceHandler» - PullRequest
202 голосов
/ 02 августа 2010

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

есть дубликат раздел 'system.web.extensions / scripting / scriptResourceHandler' определены.

Комментирование оскорбительных строк также не помогло. Какие-нибудь указатели на то, что мне нужно сделать или посмотреть?

Ответы [ 16 ]

322 голосов
/ 04 августа 2010

Если вы планируете развернуть 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, как, по-видимому, у вашей машины разработки.

47 голосов
/ 04 января 2012

Решением для меня было изменение версии платформы .NET в пулах приложений с v4.0 на v2.0 для пула приложений по умолчанию:

enter image description here

46 голосов
/ 05 июля 2013

Если, как и я, вам нужно нацелиться на v4, но вы можете собрать только с .net 3.5, следуйте инструкции здесь . Просто замените в вашем 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>

3 голосов
/ 08 сентября 2014

Установите пул приложений на 2.0, я сделал это и работал.

2 голосов
/ 05 октября 2017

Necromancing.
Если в вашем файле web.config нет ни одной config-секции system.web.extensions или записей обработчиков / модулей, эта проблема вызвана тем, что вы / кто-то еще скопировал VisualStudio-Project (2013/2015/2017) пока скрытые файлы скрыты .

Из-за этого он будет не только копировать .git, но и .VS, который содержит файл IIS-Express applicationhost.config , , который указывает на файлы web.config по путям которые не существуют (или, что еще хуже, пути, которые существуют, но не имеют одинакового содержимого) ...

Решение:
Удалите файл applicationhost.config в папке .VS.
Или просто удалите папку .VS.
Visual Studio создаст его заново.

2 голосов
/ 08 июня 2017

Мое приложение было приложением 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 - Не найдено Запрошенное содержимое выглядит как сценарий и не будет обрабатываться обработчиком статического файла

После некоторого расследования кажется, что мне нужно было зарегистрировать обработчик WCF. используя следующие шаги:

  1. открыть командную строку Visual Studio (от имени администратора)
  2. Перейдите к «C: \ Windows \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation»
  3. Запустить servicemodelreg -i
2 голосов
/ 21 декабря 2011

Проблема в том, что у вас есть доступ к бассейну. Решение: введите сервер IIS Administrador или сервер приложений. [Введите описание изображения здесь] [1] y cambiar la vercion del framework ! [введите описание изображения здесь] [2]

Решение проблем, связанных с установкой и администрированием централизованного SharePoint 2010

----- через Google Translate -----

Проблема в том, что пул по умолчанию. Решение Net 4.0: введите сервер IIS Manager, чтобы установить значения в правой части пулов приложений. [Введите описание изображения здесь] [1] и измените версию фреймворка! [Введите описание изображения здесь] [2]

Это должно решить проблему с установкой центра администрирования SharePoint 2010

1 голос
/ 12 апреля 2018

В моем случае это произошло после того, как я преобразовал все решение (используя расширение, называемое Target Framework Migrator) в 4.6.2, но в итоге отменил изменения и вернулся к 3.5 (решение имеет версию TFS).Чтобы решить эту проблему, я преобразовал только проблемный проект (для запуска которого использовался IIS Express) в 4.6.2, а затем обратно в 3.5.

1 голос
/ 02 августа 2010
0 голосов
/ 16 декабря 2016

Возможно, это неправильный ответ для вас.Но это был первый удар по 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" />

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...