Error HTTP 500.19 en IIS 8 cuando la configuración de system.web está presente en apphost config

Tenemos una utilidad que configura automáticamente las aplicaciones web ASP.NET al instalarlas en los servidores de los clientes. Esta utilidad tradicionalmente agrega una serie de configuraciones a la ruta de ubicación para la nueva aplicación en applicationHost.config. Hacemos esto mediante programación utilizando las clases de configuración Microsoft.Web.Administration.

Esto funciona bien en IIS 7.0 e IIS 7.5, pero cuando intentamos instalar la configuración idéntica en IIS 8 (Server 2012), comenzamos a obtener 500.19 errores de servidor para todo lo que está alojado en el servidor debido a un elemento XML supuestamente mal formado (HRESULT 0x8007000d) . Realicé sistemáticamente todas las configuraciones que instalamos, y parece ser el atributo system.web / httpRuntime maxRequestLength (ver más abajo). Parece que el elemento de configuración system.web es el culpable, ya que el error no desaparece hasta que se elimina.

He confirmado que la definición de la sección para system.web / httpRuntime indica que está permitida en todas partes, y puede establecer la configuración de system.web en otros niveles de la configuración (por ejemplo, web.config) sin problemas. ¿Por qué no podemos configurarlo en applicationHost.config?

<location path="Default Web Site/ManagementConsole">
    <!-- ... more config ... -->
    <system.web>
        <httpRuntime maxRequestLength="10240" />
    </system.web>
</location>

Edición: Noté después de la publicación original que el archivo al que se refería el error 500.19 era un archivo de configuración de grupo de aplicaciones temporal (C: \ inetpub \ temp \ apppools \ apppoolname \ apppoolname.config. El contenido de ese archivo es:

<!-- ERROR: There's been an error reading or processing the applicationhost.config file.  Line number: 905  Error message: The configuration section 'system.web' cannot be read because it is missing a section declaration
-->

Pero cuando entro en applicationHost.config y agrego una definición de grupo de sección para system.web y una definición de sección para httpRuntime, ¡el mensaje en el 500.19 cambia para afirmar que hay una definición duplicada de system.web / httpRuntime! Así que no puedo definirlo, y no puedo definirlo. ¿¿Qué??

Respuestas a la pregunta(4)

Su respuesta a la pregunta