Я не могу найти пространство имен для использования [DataContract]
и [DataMember]
элементы. Согласно тому, что я нашел, кажется, что добавления следующего должно быть достаточно, но в моем случае это не так.
using System;
using System.Runtime.Serialization;
Вот фрагмент моего кода:
using System;
using System.Runtime.Serialization;
namespace MyNamespace {
[DataContract]
public class Tuple<T1, T2> {
// A custom implementation of a Tuple
//...
//...
}
}
И ошибка, которую я получаю:
Не удалось найти тип или имя пространства имен DataContract (отсутствует директива using или ссылка на сборку?)
Я не использую правильные пространства имен?
c#
wcf
datacontract
Otiel
источник
источник
Ответы:
DataContractAttribute
Класс находится вSystem.Runtime.Serialization
пространстве имен.Вы должны добавить ссылку на
System.Runtime.Serialization.dll
. На эту сборку по умолчанию нет ссылок. Чтобы добавить ссылку на ваш проект, вам нужно перейти в «Ссылки» -> «Добавить ссылку» в обозревателе решений и добавить ссылку на сборку вручную.источник
References -> Add Reference
в Solution Explorer и добавить ссылку на сборку ...using System.Runtime.Serialization;
. Я предполагаю, что я был неправ :)using
утверждении? Это, кажется, имеет смысл для меня.http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute находится в пространстве имен System.Runtime.Serialization, и вы должны ссылаться на System.Runtime.Serialization.dll. Это доступно только в .Net> = 3
источник
Атрибуты [DataContract] и [DataMember] находятся в пространстве имен System.ServiceModel, которое находится в System.ServiceModel.dll.
System.ServiceModel использует пространства имен System и System.Runtime.Serialization для сериализации камер данных.
источник
В визуальной студии для .Net 4.0 framework,
System.Runtime.Serialization
.using System.Runtime.Serialization
. И ошибка не будет показана.источник
Сначала я добавляю ссылки на мою модель, затем использую их в своем коде. Есть две ссылки, которые вы должны добавить:
Затем эта проблема была решена в моей программе. Я надеюсь, что этот ответ может помочь вам. Спасибо.
источник
Я решил эту проблему, добавив C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ System.Runtime.Serialization.dll в ссылку
источник