Ich kann den zu verwendenden Namespace [DataContract]
und die [DataMember]
Elemente nicht finden . Nach dem, was ich gefunden habe, scheint es ausreichend zu sein, Folgendes hinzuzufügen, aber in meinem Fall ist dies nicht der Fall.
using System;
using System.Runtime.Serialization;
Hier ist ein Ausschnitt aus meinem Code:
using System;
using System.Runtime.Serialization;
namespace MyNamespace {
[DataContract]
public class Tuple<T1, T2> {
// A custom implementation of a Tuple
//...
//...
}
}
Und der Fehler, den ich bekomme:
Der Typ- oder Namespace-Name 'DataContract' wurde nicht gefunden (fehlt Ihnen eine using-Direktive oder eine Assembly-Referenz?)
Benutze ich nicht die richtigen Namespaces?
c#
wcf
datacontract
Otiel
quelle
quelle
Antworten:
DataContractAttribute
Klasse ist imSystem.Runtime.Serialization
Namespace.Sie sollten einen Verweis auf hinzufügen
System.Runtime.Serialization.dll
. Diese Assembly wird jedoch standardmäßig nicht referenziert. Um die Referenz zu Ihrem Projekt hinzuzufügen, müssen Sie im Projektmappen-Explorer zu Referenzen -> Referenz hinzufügen gehen und manuell eine Baugruppenreferenz hinzufügen.quelle
References -> Add Reference
imusing System.Runtime.Serialization;
. Ich glaube ich habe mich geirrt :)using
Aussage? Das scheint mir sinnvoll zu sein.http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute befindet sich im System.Runtime.Serialization-Namespace und Sie sollten auf System.Runtime.Serialization.dll verweisen. Es ist nur in .Net> = 3 verfügbar
quelle
Die Attribute [DataContract] und [DataMember] befinden sich im System.ServiceModel-Namespace in System.ServiceModel.dll.
System.ServiceModel verwendet die Namespaces System und System.Runtime.Serialization, um die Datenmitglieder zu serialisieren.
quelle
In Visual Studio für .Net 4.0 Framework,
System.Runtime.Serialization
.using System.Runtime.Serialization
. Und der Fehler wird nicht angezeigt.quelle
Zuerst füge ich die Verweise zu meinem Modell hinzu und verwende sie dann in meinem Code. Es gibt zwei Referenzen, die Sie hinzufügen sollten:
dann wurde dieses Problem in meinem Programm gelöst. Ich hoffe diese Antwort kann Ihnen helfen. Vielen Dank.
quelle
Ich habe dieses Problem gelöst, indem ich C: \ Programme (x86) \ Referenzassemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Runtime.Serialization.dll in die Referenz eingefügt habe
quelle