2009-01-29 5 views
3

J'étais curieux de savoir si quelqu'un savait comment résoudre ce problème: Lorsque j'ajoute un bindingExtension ou un bindingElementExtension à ma configuration WCF, Visual Studio lance un avertissement de validation de schéma, car le nom de l'extension ne se trouve pas dans le schéma system.serviceModel:La liaison/extension personnalisée WCF provoque une erreur de validation dans app.config

Avertissement 1 L'élément 'bindings' a un élément enfant invalide 'nmsBinding'. Liste des éléments possibles attendus: 'BasicHttpBinding, CustomBinding, MsmqIntegrationBinding, netPeerTcpBinding, NetMsmqBinding, NetNamedPipeBinding, NetTcpBinding, wsFederationHttpBinding, ws2007FederationHttpBinding, wsHttpBinding, ws2007HttpBinding, wsDualHttpBinding, mexHttpBinding, mexHttpsBinding, mexNamedPipeBinding, mexTcpBinding, webHttpBinding, netTcpContextBinding, wsHttpContextBinding, basicHttpContextBinding.

Cela peut être une question stupide, mais existe-t-il un moyen de "dynamiquement" enregistrer ces extensions avec Visual Studio, afin qu'elles soient validées? Je pensais que je pourrais laisser tomber un xsd quelque part dans les configs du studio visuel, mais je préférerais ne pas le faire s'il y a un autre moyen magique.

Voici ce que ma config ServiceModel ressemble:

<system.serviceModel> 

    <services> 
     <service name="Zed.Apache.NMS.WCF.Test.Server.TestApacheNMSService"> 
      <endpoint 
       name="nmsServiceEndpoint" 
       address="tcp://localhost:61616" 
       binding="nmsBinding" 
       bindingConfiguration="defaultNmsBinding" 
       contract="Zed.Apache.NMS.WCF.Test.Server.ITestApacheNMSService" /> 
     </service> 
    </services> 

    <bindings> 
     <nmsBinding> <!-- VALIDATION ERROR HERE --> 
      <binding name="defaultNmsBinding" 
        destination="TestApacheNMSQueue" 
        destinationType="Queue" /> 
     </nmsBinding> 
    </bindings> 

    <extensions> 
     <bindingExtensions> 
      <add name="nmsBinding" 
       type="Apache.NMS.WCF.NmsBindingCollection, Zed.Apache.NMS.WCF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> 
     </bindingExtensions> 
    </extensions> 

</system.serviceModel> 

Répondre

3

Je crois que VS2008 utilise le fichier "C: \ Program Files \ Microsoft Visual Studio 9.0 \ xml \ Schemas \ DotNetConfig.xsd" (avec installation par défaut) pour la validation du fichier de configuration. Vous pouvez modifier ce fichier ou spécifier un autre schéma sous "Propriétés" pour le fichier de configuration. Toutefois, tant que vous ne recevez que les avertissements de conception, cela ne vaut peut-être pas la peine.

+0

Ok cool, merci pour la réponse. –

Questions connexes