Мне было бы любопытно, если бы кто-нибудь знал, как это исправить: Когда я добавляю bindingExtension или bindingElementExtension в свою конфигурацию WCF, Visual Studio выдает предупреждение проверки схемы, поскольку имя расширения отсутствует в схеме system.serviceModel:
Предупреждение 1 Элемент 'bindings' имеет недопустимый дочерний элемент 'nmsBinding'. Список возможных элементов ожидается: 'BasicHttpBinding, customBinding, msmqIntegrationBinding, netPeerTcpBinding, netMsmqBinding, netNamedPipeBinding, NetTcpBinding, wsFederationHttpBinding, ws2007FederationHttpBinding, WsHttpBinding, ws2007HttpBinding, WSDualHttpBinding, mexHttpBinding, mexHttpsBinding, mexNamedPipeBinding, mexTcpBinding, WebHttpBinding, netTcpContextBinding, wsHttpContextBinding, basicHttpContextBinding' * 1003. *
Это может быть глупый вопрос, но есть ли способ «динамически» зарегистрировать эти расширения в visual studio, чтобы они валидировали? Я думал, что смогу поместить xsd куда-нибудь в конфиги визуальной студии, но я бы не стал этого делать, если есть какой-то другой волшебный способ.
Вот как выглядит мой конфиг serviceModel:
<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>