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?