web-dev-qa-db-fra.com

La section de configuration 'system.servicemodel' ne peut pas être lue car il manque une déclaration de section

J'ai un problème ..___ Mon ancien serveur Web (Windows 2003) a été remplacé par un R2 2008. On m'a donné un compte administrateur dessus, et je peux faire ce que je veux, mais je ne suis pas un expert dans ce domaine ..__ J'ai configuré les rôles pour avoir le développement d'applications et le serveur Web (iis7).

MAIS, mon site Web exécute .NET4 et le rôle n’en a installé que 3.5 . J’ai donc essayé d’installer .NET4 manuellement, sur le serveur . Mon problème est que mon site Web ne fonctionnera pas, à cause des Section System.ServiceModel de mon Web.config . Je me suis assuré qu’il s’exécute dans le pool d’applications .NET4.

Je suppose que c'est un problème de la WCF, mais je ne comprends pas comment le résoudre. J'ai essayé tout ce que j'ai trouvé sur google. aspnet_regis, ServiceModelReg.exe et ainsi de suite . J'ai même essayé de réinstaller le rôle de serveur Web, mais je reçois toujours cette erreur, chaque fois que j'essaie d'entrer dans la configuration des sites.

J'espère qu'il y a ici des experts qui savent comment résoudre ce problème.

30
Nicolai

Apparemment, IIS7 a besoin d’une section System.WebServer, même si elle est vide . Ajouter ce qui suit à mon fichier web.config a résolu mon problème.

  <system.webServer>
  </system.webServer>
6
Nicolai

Accédez aux pools d'applications dans IIS, sélectionnez l'option "Définir le pool par défaut de l'application" [disponible dans le coin supérieur droit] et vérifiez la version du framework .net. 

Remarque: Il est sélectionné comme version .net 4.0 par défaut

26
kumaresh babu

J'ai eu une raison différente pour obtenir cette erreur. 

Cela s'est produit lors de la migration d'un projet MVC de .Net 4.0 à 4.5, la bibliothèque Microsoft.IdentityModel étant remplacée par System.identityModel. Dans mon cas, j'avais effectué toutes les étapes de migration Web.Config nécessaires listées ici , mais j'avais oublié de changer le nom de la section dans la section configSections

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

Comme écrit ici , la définition de la section devrait être:

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

Le problème pour moi était que les services WCF n'étaient pas installés. L’installation a résolu le problème pour moi: http://blogs.msdn.com/b/knom/archive/2009/10/14/iis7-wcf-services-svc-do-not-work.aspx

Notez que le passage de la version 2.0 du pool d'applications .NET à la version 4.0 n'était pas une option pour moi, car le site devait s'exécuter sur la version 2.0.

3
oonyalo

Parce que mon projet doit être exécuté en .net 2.0 Je dois suivre ce lien et cela fonctionne pour moi avec solution 3: exécuter fichier.js

http://blogs.msdn.com/b/wenlong/archive/2010/11/23/why-does-machine-config-contain-invalid-xml-content-after-installing-net-3-5- patches.aspx

1
Grey Wolf

J'ai eu le même problème ... Je l'ai simplement résolu avec: aspnet_regiis.exe -i

0
usr4217

Pour moi, qui ne souhaitais pas installer .NET Framework 3.5, la solution consistait à transcrire la section system.serviceModel à partir du machine.config dans mon fichier web.config:

<configuration>
  <configSections>
    <sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="comContracts" type="System.ServiceModel.Configuration.ComContractsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
        <section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="machineSettings" type="System.ServiceModel.Configuration.MachineSettingsSection, SMDiagnostics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
        <section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineToApplication"/>
        <section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        <section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <section name="tracking" type="System.ServiceModel.Activities.Tracking.Configuration.TrackingSection, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </sectionGroup>
  </configSections>
  <system.serviceModel>
    <!-- ... -->
  </system.serviceModel>
</configuration>
0
Rosberg Linhares