servidor registrado net missing instalar habilitar gratis framework como asp application asp.net .net iis iis-7 .net-4.0

asp.net - registrado - Problema de ''System.Web.Extensions'' al implementar el sitio web de.Net Framework 4 en IIS7



install framework 4 iis (7)

Estoy intentando implementar un sitio web de .Net framework 4 en el servidor IIS7. Ya he cambiado el marco de destino del conjunto de aplicaciones a .NET 4, pero la aplicación todavía me muestra el error:

"La sección de configuración ''system.web.extensions'' no se puede leer porque falta una declaración de sección"

Supongo que tiene algo que ver con la nueva función de .Net4 que me permite tener un archivo de configuración Web compacto. Creo que por alguna razón IIS7 no está contento con esto.

¿Qué puedo hacer para implementar esta aplicación con éxito o tengo que volver a escalar a v3.5? Estoy seguro de que hay una solución por ahí.

¿Tienes alguna sugerencia?


Encontré la respuesta de Leo Tang post :

Este problema no fue causado por la migración de web.config. Si actualiza su aplicación a .Net Framework4.0, pero asigne esta aplicación a un grupo de aplicaciones que se ejecuta bajo .Net Framework3.5 o una versión anterior, encontrará este error. Puede asignar esta aplicación a un grupo de aplicaciones .Net Framework4.0 en IIS para solucionar el problema.

Entonces, si lee el error La sección de configuración ''system.web.extensions'' no se puede leer porque le falta una declaración de sección porque la aplicación que implementó se está ejecutando bajo un grupo de aplicaciones configurado para ejecutarse bajo .NET 2.0 o 3.5 ( DefaultAppPool? DefaultAppPool se establece de manera predeterminada en .NET 2.0).

Realice los siguientes pasos:

  1. Ejecute IIS (exec ''inetmgr'' )
  2. Seleccione su aplicación (probablemente ''Servidor / Sitios / Sitio web predeterminado / Su nombre de aplicación'' del árbol en el panel izquierdo)
  3. Abra la configuración de su aplicación (haga clic en "Configuración básica" en "Acciones" en el panel de la derecha) y observe el grupo de aplicaciones .

  4. Ahora elija la acción que mejor se adapte a sus necesidades:

    • Puede cambiar el grupo de aplicaciones para su aplicación ( seleccione el botón en el formulario ''Editar aplicación'' , luego elija ''ASP.NET v4-0 Classic'' ). Este cambio afectará solo a esta aplicación
    • O puede editar el grupo de aplicaciones (probablemente Servidor / Grupos de aplicaciones / DefaultAppPool rom del árbol de la izquierda) y configurarlo para que se ejecute en .NET Framevork v4.0. Tenga cuidado: este cambio afectará a todas las aplicaciones en este grupo de aplicaciones ... ¿es esto lo que quiere? tal vez...

Es porque ha implementado su aplicación en un servidor IIS donde la aplicación AppPool está configurada para ejecutarse en DefaultAppPool. DefaultAppPool se configura automáticamente para ejecutarse en .NET 2.0 en lugar de .NET 4.0. Esto significa que el material de System.Web.Extensions no está disponible para esa versión de .NET Framework.

Para cambiar la configuración del conjunto de aplicaciones (AppPool) para su aplicación web

1. Select the application directory 2. Under Actions, click Basic Settings… 3. Change the Application Pool to ASP.NET v4.0 (or another .NET 4.0 app pool) by clicking on the Select… button. 4. Click OK

Vuelva a ejecutar su aplicación y debería funcionar.

Verifique este enlace para una demostración gráfica.


Pude resolver este problema yo mismo luego de cazar (¡sucede!).

aparentemente no tiene nada que ver con la forma en que está estructurado el archivo de configuración, es el ensamblado para ASP.Net Ajax que no está implementado en mi servidor de destino pero podría estar presente en mi máquina de desarrollo.

Eliminé la entrada del archivo web.config y se resolvió este problema. Hubo otros problemas menores, pero nada que valga la pena mencionar.

La experiencia de implementación de IIS7 + .Net Framework 4 no fue demasiado difícil y las capacidades adicionales valdrán la pena.


Resolví el problema siguiendo los pasos a continuación: 1. establecer el marco del grupo de aplicaciones en 4.0
2. Si el punto 1 no funciona, entonces el problema podría estar relacionado con la herencia de configuración. Aplicar revisión desde KB958854

Esto debería resolver el problema.


Si "aspnet_regiis.exe -iru" no ayuda y está seguro de que intenta iniciar el sitio en el grupo de aplicaciones de .NET 4.0, puede ser el problema en la herencia de configuración de IIS 7.0. El servidor web lee machine.config de .NET 2.0. La aplicación de la revisión KB958854 resolvería el problema con la herencia de la configuración. He solucionado mi problema con éxito de esta manera.


También puede obtener este mismo error si crea un nuevo sitio web en IIS 7 (.5) ya que el grupo de aplicaciones que crea para el nuevo sitio aún puede establecerse en 2.0, y como tal, system.web.extensions no es válido. en un archivo de configuración 2.0.

Simplemente acceda al Administrador de IIS, elija los grupos de aplicaciones, seleccione uno para su aplicación, haga clic con el botón derecho en Configuración avanzada y configure la versión de .NET framework a v4.


Module IIS Web Core Notification BeginRequest Handler Not yet determined Error Code 0x80070032 Config Error The configuration section ''system.web.extensions'' cannot be read because it is missing a section declaration Config File //web.config

El error se debe a esta sección system.web.extensions agregada a Web.config

<system.web.extensions> <scripting> <webServices> <!-- Uncomment this line to customize maxJsonLength and add a custom converter <jsonSerialization maxJsonLength="1024000"> --> </webServices> <scriptResourceHandler enableCompression="true" enableCaching="true"/> </scripting> </system.web.extensions>

Por algún motivo, al agregar esa sección, se anula el grupo system.web.extensions. La solución es

  1. Comenta el código anterior si no lo necesitas.
  2. Agregue el código siguiente al grupo de sección Web.config

..

<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>