Invalid contract attribute for IMetadataExchange

I have upgraded a WCF Service to .NET Framework 4.5. After doing so I noticed a blue squiggly line around the IMetaDataExchange in the host config file.

This is what the services section of the config looks like:

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

When I hover the mouse over IMetadataExchange the error says:

The 'contract' attribute is invalid - The value 'IMetadataExchange' is invalid according to its datatype 'serviceContractType' - The Enumeration constraint failed.

The service seems to work fine. So I am curious why is this invalid.


Can you delete .SUO (solution Users Option file) file after closing VS? This will reset the cache for XMLEditor component in VS and will fix your problem.


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


I had a similar problem to this - several name and contract attributes showing in the App.Config of my WCF Service with the dreaded blue squiggly, and warnings showing up in the Error List.

In my case the problem was that after creating the services and contracts I had refactored the namespaces of the service project, so the generated solution-specific *.xsd was using the new namespaces but my refactoring tool hadn't updated the App.Config with the changes. Going in and adding the fully-specified namespaces fixed the issue.

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

上一篇: 找不到引用合同的默认端点元素

下一篇: IMetadataExchange的合约属性无效