Ad esempio, ISerializable e Serializable attributo si trovano entrambi nello spazio dei nomi System.Runtime.Serialization , ma non nell'assembly con lo stesso nome. D'altra parte, gli attributi di DataContract sono nello spazio dei nomi / assembly System.Runtime.Serialization .
Ciò provoca confusione quando una classe può avere using System.Runtime.Serialization ma non ha ancora un riferimento all'assembly System.Runtime.Serialization , ovvero non è possibile trovare DataContract .
Questo dovrebbe essere evitato nella pratica, o è comune che gli spazi dei nomi siano suddivisi su più assiemi? Di quali altri problemi si dovrebbe prestare attenzione quando si fa questo?