title: Does mono support DataContractSerializer with the preserveObjectReferences flag?
body: <p>I am trying to serialize a complex graph using c# mono (mono v2.6) the graph has bi-directional links and there are objects which create circular dependencies. After doing some reading I tried setting the preserveObjectReferences flag which should allow circular references to be set (this constructor):</p>
  
  <pre><code>public DataContractSerializer(
   Type type,
   IEnumerable&lt;Type&gt; knownTypes,
   int maxItemsInObjectGraph,
   bool ignoreExtensionDataObject,
   bool preserveObjectReferences,
   IDataContractSurrogate dataContractSurrogate
  )
  </code></pre>
  
  <p>The exception I get is as follows:</p>
  
  <pre><code>SerializationException: Circular reference of an object in the object graph was found: 'ShaderMasterNode' of type ShaderMasterNode
  </code></pre>
  
  <p>Has anyone had any luck serializing complex objects in mono? According to the documentation here: 
  <a href="http://go-mono.com/status/status.aspx?reference=3.5&amp;profile=2.0&amp;assembly=System.Runtime.Serialization" rel="nofollow noreferrer">http://go-mono.com/status/status.aspx?reference=3.5&amp;profile=2.0&amp;assembly=System.Runtime.Serialization</a> These constructors are supported.</p>