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.
I added System.ServiceModel to the references for the project and it went away
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.
Perhaps not the answer for the OP, but others with this problem should check that [ServiceContract]
is declared for the interface
of your services, because this produces the exact error.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With