title: VS2010 confuses System.Xml.XmlElement with System.Xml.Linq.XElement?
body: <p>I have created a WCF service with one method which returns a <code>System.Xml.XmlElement</code>:</p>
  
  <p><strong>Interface:</strong></p>
  
  <pre><code>[ServiceContract]
  public interface IWCFService
  {
      [OperationContract]
      XmlElement Execute(...);
  }
  </code></pre>
  
  <p><strong>Service:</strong></p>
  
  <pre><code>public XmlElement Execute(...)
  {
      XmlNode node = ...;
  
      return (XmlElement)node;
  }
  </code></pre>
  
  <p>When I try to access the service deployed on my server</p>
  
  <pre><code>WCFServiceClient service = new WCFServiceClient("WSHttpBinding_IWCFService");
  XmlElement node = service.Execute(...);
  </code></pre>
  
  <p>I get the error:</p>
  
  <blockquote>
    <p>Cannot implicitly convert type 'System.Xml.Linq.XElement' to 'System.Xml.XmlElement'</p>
  </blockquote>
  
  <p>Searching my service solution, I cannot see any reference to <code>System.Xml.Linq.XElement</code>. Is it wrong of me to expect a <code>System.Xml.XmlElement</code> or is VS 2010 fooling around with me?</p>