title: WCF Service Reference generates its own contract interface, won't reuse mine
body: <p>My first question so hope it is suitable:</p>
  
  <p><b>Shared interface assembly</b> - I have a 'shared' assembly which has an interface, let's call it <code>IDocRepository</code>.  It's marked with <code>[ServiceContract]</code> and there are several <code>[OperationContract]</code>-marked methods.</p>
  
  <p><b>WCF implementation assemblies</b> - I have two WCF service projects, each referencing the shared assembly, each implementing that interface as a WCF service.</p>
  
  <p><b>Consumer assembly</b> - Finally, I have a 'client' project, also referencing the shared assembly, with a reference to each of the two WCF services.</p>
  
  <p>However, the service references generated in the consumer assembly derive from an auto-generated version of the interface:</p>
  
  <pre><code>public partial class ExampleClient : System.ServiceModel.ClientBase&lt;SomeNamespace.ExampleSvcRef.IDocRepository&gt;, SomeNamespace.ExampleSvcRef.IDocRepository {
  </code></pre>
  
  <p><b>What I expected</b><br>
  I would have hoped that both references would instead automatically inherit the interface I defined, that the consumer/client assembly is also referencing.  Kind of like the re-use of classes that it provides for parameter and return types, but for the service interface.</p>
  
  <p><b>Why</b><br>
  So that I can create an instance of either service reference proxy and cast it to my interface type.</p>
  
  <p>So I could modify the generated code by hand each time, but there should be better way...?</p>
  
  <p>(edit: I do have 'Reuse types in referenced assemblies' and 'Reuse types in all referenced assemblies' options selected for both service references)</p>