Espacio de nombres para [DataContract]


No puedo encontrar el espacio de nombres para usar para los elementos [DataContract] y [DataMember]. De acuerdo con lo que he encontrado, parece que agregar lo siguiente debería ser suficiente, pero en mi caso no lo es.

using System;
using System.Runtime.Serialization;

Aquí hay un fragmento de mi código:

using System;
using System.Runtime.Serialization;

namespace MyNamespace {

    [DataContract]
    public class Tuple<T1, T2> {
            // A custom implementation of a Tuple
            //...
            //...
        }
}

Y el error que obtengo:

No se pudo encontrar el nombre de tipo o espacio de nombres 'DataContract '(¿le falta una directiva using o una referencia de ensamblado?)

¿No estoy usando los espacios de nombres correctos?

Author: Otiel, 2011-09-13

5 answers

DataContractAttribute Class está en el espacio de nombres System.Runtime.Serialization.

Debe agregar una referencia a System.Runtime.Serialization.dll. Sin embargo, ese ensamblado no está referenciado de forma predeterminada. Para agregar la referencia a su proyecto debe ir a Referencias - > Agregar referencia en el Explorador de soluciones y agregar una referencia de ensamblaje manualmente.

 390
Author: CD..,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-30 14:03:13

Http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx

DataContractAttribute está en System.Ejecución.Espacio de nombres de serialización y debe hacer referencia al Sistema.Ejecución.Serialización.DLL. Solo está disponible en. Net > = 3

 7
Author: Guillaume,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-13 12:26:15

[DataContract] y [DataMember] atributo se encuentran en el sistema.ServiceModel namespace que está en System.ServiceModel.DLL .

Sistema.ServiceModel utiliza el Sistema y el Sistema.Ejecución.Serialización espacios de nombres para serializar los miembros de datos.

 5
Author: Jatin Khurana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-13 16:02:10

En visual studio para. Net 4.0 framework,

  1. Intente agregar una nueva referencia al proyecto.
  2. En la pestaña.Net, Busque System.Runtime.Serialization.
  3. Ahora puedes usar using System.Runtime.Serialization. Y el error no se mostrará.
 4
Author: Md. Kauser Ahmmed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-25 12:29:05

Primero, añado las referencias a mi Modelo, luego las uso en mi código. Hay dos referencias que debe agregar:

Usando el Sistema.Modelo de servicio;
usando el Sistema.Ejecución.Serialización;

Entonces, este problema fue resuelto en mi programa. Espero que esta respuesta pueda ayudarte. Gracias.

 0
Author: user3342169,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-04 01:27:35