237 votes

Espace de noms pour [DataContract]

Je ne trouve pas l'espace de noms à utiliser pour l' [DataContract] et [DataMember] - éléments. Selon ce que j'ai trouvé, il semble que l'ajout de ce qui suit devrait être suffisant, mais dans mon cas, il ne l'est pas.

using System;
using System.Runtime.Serialization;

Voici un extrait de mon code:

using System;
using System.Runtime.Serialization;

namespace MyNamespace {

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

Et l'erreur que je reçois:

Le type ou le nom d'espace de noms 'DataContract' n'a pas pu être trouvée (vous manque une directive using ou une référence d'assembly?)

Je ne suis pas à l'aide de la droite d'espaces de noms?

444voto

CD.. Points 23701

DataContractAttribute classe est dans l'espace de nom System.Runtime.Serialization .

Mais vous devriez ajouter une référence à System.Runtime.Serialization.dll

7voto

Guillaume Points 5649

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

DataContractAttribute se trouve dans l'espace de noms System.Runtime.Serialization et vous devez faire référence à System.Runtime.Serialization.dll. Il est uniquement disponible dans .Net> = 3

5voto

Jatin Khurana Points 505

Les attributs [DataContract] et [DataMember] se trouvent dans l'espace de noms System.ServiceModel qui se trouve dans System.ServiceModel.dll.

System.ServiceModel utilise les espaces de noms System et System.Runtime.Serialization pour sérialiser les datamembers.

0voto

user3342169 Points 11

D'abord, j'ajoute les références à mon modèle, puis je les utilise dans mon code. Il y a deux références que vous devriez ajouter:

using System.ServiceModel;
using System.Runtime.Serialization;

alors, ce problème a été résolu dans mon programme. J'espère que cette réponse peut vous aider. Merci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X