ISerializable and the
Serializable Attribute are both in the
System.Runtime.Serialization namespace, but not the assembly of the same name. On the other hand,
DataContract attributes are in the namespace/assembly
This causes confusion when a class can have
using System.Runtime.Serialization but still not have reference to the
System.Runtime.Serialization assembly, meaning
DataContract cannot be found.
Should this be avoided in practice, or is it common for namespaces to be split over multiple assemblies? What other issues should one be careful of when doing this?