2011-06-16 30 views
29

Tengo algún problema. Mi antiguo servidor web (Windows 2003) ha sido reemplazado, con 2008 R2. Me han dado una cuenta de administrador y puedo hacer lo que quiera, pero no soy un experto en esta área. Configuré las funciones para tener desarrollo de aplicaciones y servidor web (iis7).La sección de configuración 'system.servicemodel' no se puede leer porque falta una declaración de sección

PERO, mi sitio web ejecuta .NET4, y el rol solo se instaló 3.5. Así que he intentado instalar .NET4 manualmente, en el servidor. Mi problema es que mi sitio web no funcionará en él, debido a la sección System.ServiceModel en mi web.config. Me he asegurado de que se ejecute en el grupo de aplicaciones .NET4.

Supongo que este es un problema WCF, pero no puedo entender cómo resolverlo. He intentado todo lo que encontré en google. aspnet_regis, ServiceModelReg.exe y más. Incluso he tratado de volver a instalar el rol del servidor web, pero sigo teniendo este error cada vez que intento ingresar a la configuración de los sitios.

Espero que haya algunos expertos aquí, que sepan cómo arreglar esto.

+4

¿Está seguro de que la AppPool que está utilizando se ejecuta en la versión de marco correcto (4.0)? Se encontró un enlace que describe este problema: http://blog.benday.com/archive/2010/05/19/23278.aspx – Ozzy

+0

[Este] (http://stackoverflow.com/a/4890368/664054) lo resolvió para me – WhiteKnight

+0

FWIW: Hace poco encontré el mismo problema y lo resolví a través de un nuevo "Publicación" de la aplicación y luego reciclando el grupo de aplicaciones. ¡Espero que esto ayude a alguien! :) –

Respuesta

5

Aparentemente IIS7 necesita una sección System.WebServer, incluso si está vacía. Agregar lo siguiente a mi archivo web.config solucionó mi problema.

<system.webServer> 
    </system.webServer> 
25

Vaya a los grupos de aplicaciones en IIS y seleccione "Establecer conjunto predeterminado de aplicaciones" [disponible en la esquina superior derecha], y compruebe la versión de .net framework.

Nota: It'ld ser seleccionada como la versión 4.0 de .NET de forma predeterminada

+0

Esta respuesta me inició en el camino correcto. Después de cambiar la versión de .NET Framework para el grupo de aplicaciones de v2.0 a v4.0, el error desapareció. –

4

que tenía una razón diferente para conseguir este error.

Esto sucedió durante la migración de un proyecto MVC de .Net 4.0 a 4.5, donde la biblioteca Microsoft.IdentityModel se reemplazó por System.identityModel. En mi caso lo hubiera hecho toda la migración Web.Config necesaria pasos listed here, pero había olvidado de cambiar el nombre de la sección en la sección configSections:

<configSections> 
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> 
</configSections> 

Como written here, la definición sección debe ser:

<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
0

que tenía el mismo problema .. . Lo solucioné simplemente con: aspnet_regiis.exe -i

Cuestiones relacionadas