title: Exposing C# via COM for C++ Client
body: <p>we're considering exposing some C# types to C++ clients via COM.  What problems can we expect to hit over the life of the project?  E.g. how will versioning be managed?</p>
  
  <p>On versioning, it would seem from reading <a href="http://msdn.microsoft.com/en-us/library/4fcadw4a.aspx" rel="nofollow noreferrer">this</a> that we should decorate our types to be exposed with <code>[ClassInterface(ClassInterfaceType.None)]</code> and use an explicit interface.  That way I assume we fully control the interface that will be exposed to COM clients.</p>
  
  <p>Thanks in advance.</p>