No puedo encontrar el espacio de nombres para usar [DataContract]
y [DataMember]
elementos. Según 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 tipo o el nombre del espacio de nombres 'DataContract' (¿le falta una directiva de uso o una referencia de ensamblado?)
¿No estoy usando los espacios de nombres correctos?
c#
wcf
datacontract
Otiel
fuente
fuente
Respuestas:
DataContractAttribute
La clase está en elSystem.Runtime.Serialization
espacio de nombres.Debe agregar una referencia a
System.Runtime.Serialization.dll
. Sin embargo, ese ensamblaje no está referenciado por defecto. 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.fuente
References -> Add Reference
Explorador de soluciones y agregar una referencia de ensamblaje ...using System.Runtime.Serialization;
. Supongo que estaba equivocado :)using
declaración? Eso parece tener sentido para mí.http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute está en el espacio de nombres System.Runtime.Serialization y debe hacer referencia a System.Runtime.Serialization.dll. Solo está disponible en .Net> = 3
fuente
Los atributos [DataContract] y [DataMember] se encuentran en el espacio de nombres System.ServiceModel que se encuentra en System.ServiceModel.dll.
System.ServiceModel utiliza los espacios de nombres System y System.Runtime.Serialization para serializar los miembros de datos.
fuente
En Visual Studio para .Net 4.0 framework,
System.Runtime.Serialization
.using System.Runtime.Serialization
. Y el error no se mostrará.fuente
Primero, agrego las referencias a mi Modelo, luego las uso en mi código. Hay dos referencias que debe agregar:
entonces, este problema se resolvió en mi programa. Espero que esta respuesta te pueda ayudar. Gracias.
fuente
Resolví este problema agregando C: \ Archivos de programa (x86) \ Assemblies de referencia \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Runtime.Serialization.dll en la referencia
fuente