Ok, tengo DataContractSerializer trabajando con mi gráfico de objetos. Vea mis preguntas anteriores para más información.RuntimeType: http: //schemas.datacontract.org/2004/07/System 'no se espera
Serialization/Derialization of a tree structure
The deserializer has no knowlege of any type that maps to this contract
Sin embargo, uno de mis campos, _UserPropertyDefinitions, se define como se muestra a continuación .. Se define una lista de propiedades personalizadas que este usuario puede agregar a los objetos en la estructura de datos . La cadena es una clave única para identificar la propiedad, y Type es el tipo de propiedad que siempre es un tipo de primative como Bool, Int, String, etc.
Cada objeto tiene un correspondiente Dictionary (String key, valor del objeto) colección para almacenar los valores que se ha fijado para cualquiera de las "Propiedades de usuario"
[DataMember]
private Dictionary<string, Type> _UserPropertyDefinitions;
Mi gráfico de objetos serializa bien cuando esta propiedad es una colección vacía, sin embargo, una vez que agrego una propiedad personalizada a esta colección Obtengo la siguiente excepción al tratar de serializar con DataContractSerializer. No se espera :
Tipo 'System.RuntimeType' con los datos contrato nombre 'http://schemas.datacontract.org/2004/07/System RuntimeType'. Agregue cualquier tipo que no sea conocido estáticamente a la lista de tipos conocidos - por ejemplo, mediante el atributo KnownTypeAttribute o por agregándolos a la lista de tipos conocidos pasados a DataContractSerializer.
Si elimino el atributo DataMember para este campo, puedo serializar/deserializar sin obtener una excepción, pero por supuesto pierdo la configuración que he creado en este campo.
Disculpa las demoras en la respuesta ;-p O bien Type.GetType() o Assembly.GetType() –