[Mono-dev] A significant number of Mono classes are not (binary) compatible with their .Net equivalents?

Rafael Teixeira monoman at gmail.com
Thu Jan 25 12:34:39 EST 2007

As for Java, if you use Sun JRE on both ends, you are fine. But using
GNU Classpath libraries with some open source VM (Kaffe, Harmony,
JamVM) at just one end you will certainly find holes as I've found in
the BigInteger class ( I've sent a patch that they accepted correcting
that bit, months ago).

The things are going to improve, as now most of the Sun library
sources were opened with GPL for version 6 and up, and so one may have
fully legal access to either use the sources as is or at least study
them to implement in a compatible way.

Mono devs only have documentation and black-box tests to find their
way on implementing compatible classes. In serialization,
specifically, mono devs are allowed to look at serialized streams, to
try to match types and names.


On 1/25/07, Lionel Cuir <lionel_email at aulofee.com> wrote:
>  Thanks all for the constructive debate. I didn't remember having seen the
> point in the FAQ in the past, but it's clear anyway.
>  I would add two elements to go forward:
>  - regarding .NET, I may be wrong but the MSDN specifies that 2.0 is
> backward compatible with 1.x (ie objects binary serialized under 1.1 can be
> deserialized with 2.0 even if new fields have been added in 2.0). In the
> opposite direction, MS provides a patch for 1.x to let 1.x use types
> serialized by 2.0 (you've to ask it to MS support, it's not available on the
> web directly).
>  - regarding Mono, there are at least some +/- very usefull types concerned
> by the binary serialization compatibility. For these, may we propose our own
> versions (through the patch procedure)?
>  They are: DateTime, DataSet (but DataTable is fine), Decimal,
> DictionaryEntry, Dictionary<TK, TV> (that one for another reason), Queue<T>,
> Stack, Stack<T>, SortedList
>  Finally, even if I fully understand why Mono developpers do not access .Net
> sources (even through Reflector), the situation is quite regrettable for the
> difficulties it creates as soon as systems work in a heterogeneous
> environment (.Net+Windows and Mono+Linux). Does anyone know how Java is for
> this?
>  Cheers,
>  Lionel
> --
>  Lionel Cuir,
>  Associate
>  Aulofee Supervision Systems (http://www.aulofee.com)
>  * Security & Log correlation
>  * real-time Inventory & Detection of software & hardware
>  * Reporting
>  * Network Cartography
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list

Rafael "Monoman" Teixeira
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." George Bernard Shaw

More information about the Mono-devel-list mailing list