title: How to debug deserialization errors in .NET?
body: <p>.NET's Deserilization errors are quite generic, for example something like this:</p>
  
  <blockquote>
    <p>System.ArgumentException: Object of
    type 'System.Uri' cannot be converted
    to type 'System.String'.</p>
  </blockquote>
  
  <p>It's clear that we changed the type of a property in an object but there are like 10-15 different classes in this serialized object, so it's really hard to figure out which one we changed or which commit messed this up.</p>
  
  <p>Is there anyway to get information about which property in which class (<em>or at least in which class</em>) actually causing this error? Is there any external tool or known ways to do this?</p>
  
  <p><em>P.S. Before anyone start telling me why I shouldn't use binary serializer or why I should X,Y instead etc. for backward compatibility, please save the advice on those. I'm aware of all those but that's not the question.</em></p>