I have a server running on MS.NET and a client on Mono (this is a Unity3D engine) and when i try to BinaryFormatter().Deserialize an object like this:
[Serializable]
public class Simulator
{
public IDictionary<int, Task> tasks = new Dictionary<int, Task>();
the client side cannot found/load types: Dictionary, List... The same "client code" running under MS.NET works good i.e. does not have any exceptions during deserialization.
As i read from http://www.mono-project.com/FAQ:_Technical#Compatibility this is a common problem:
"If you are serializing your own classes, there is no problem, since you have control over the assemblies and classes being used for serialization. However, if you are serializing objects from the framework, serialization compatibility is not guaranteed, since the internal structure of those objects may be different. This compatibility is not even guaranteed between different MS.NET versions or Mono versions."
Does ProtoBuf-Net help to avoid/resolve this serialization/deserialization problem ?