I was moving some code around and had a nice WCF Service Interface and Service Class created. So I copied them into a new project where I was re-creating my work.
When I tried to debug (self-host) the service, just to test it out with the embedded WCF Test Client.
But I kept getting this error:
“The client was unable to retrieve service metadata. Make sure the service is running and exposing metadata.”
This made no sense. My config file was fine. I even created a new WCF service in the solution, confirmed that it worked properly, then compared the config files line by line.
No problems.
After going around in circles for a while (including getting zero google results for that error message), a thought occurred to me. I copied and pasted the entire contents of the Interface and the service class. I hadn’t changed the namespace!
That was the problem. I fixed the namespace and the service ran in the Test Client just fine.
Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!
The actual lesson (for these kinds of scenarios) is:put your contracts in their own DLL and share it.
Aha, but it was it’s own DLL! I was extracting code from another DLL and putting it into a new lighter wieght one. But good to know from you that this is the right way. 🙂
Thanks for the post. This pointed me in the right direction. Here was my result: blog.donnfelker.com/…/Sleep-Deprived-