IMetadataExchange的合约属性无效

我已将WCF服务升级到.NET Framework 4.5。 这样做后,我注意到在主机配置文件中的IMetaDataExchange周围有一条蓝色的波浪线。

这就是配置的服务部分的样子:

<services>
    <service behaviorConfiguration="MyBehavior" name="MyServiceHost">
        <endpoint binding="wsHttpBinding" bindingConfiguration="noSecurityBinding" contract="MyServiceContract"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>

当我将鼠标悬停在IMetadataExchange ,错误显示:

'contract'属性无效 - 根据数据类型'serviceContractType','IMetadataExchange'值无效 - Enumeration约束失败。

该服务似乎工作正常。 所以我很好奇为什么这是无效的。


您可以在关闭VS后删除.SUO(解决方案用户选项文件)文件吗? 这将重置VS中XMLEditor组件的缓存并解决您的问题。


我将System.ServiceModel添加到项目的引用中,并且它消失了


我遇到了类似的问题 - 我的WCF服务的App.Config中显示了几个namecontract属性,其中包含可怕的蓝色曲折,并且在错误列表中显示了警告。

在我的情况下,问题是在创建服务和契约之后,我重构了服务项目的命名空间,所以生成的特定于解决方案的* .xsd使用了新的命名空间,但是我的重构工具未更新App.Config变化。 进入并添加完全指定的命名空间解决了问题。

链接地址: http://www.djcxy.com/p/87195.html

上一篇: Invalid contract attribute for IMetadataExchange

下一篇: More than one endpoint configuration for that contract was found