Пространство имен для [DataContract]
Я не могу найти пространство имен для [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 или ссылка на сборку?)
Я не использую правильные пространства имен?
5 ответов
DataContractAttribute
класса в System.Runtime.Serialization
пространство имен.
вы должны добавить ссылку System.Runtime.Serialization.dll
. Однако на эту сборку по умолчанию не ссылаются. Чтобы добавить ссылку на проект, вам нужно перейти в References - > Add Reference в обозревателе решений и добавить ссылку на сборку вручную.
http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx
DataContractAttribute находится в системе.Во время выполнения.Пространство имен сериализации и вы должны ссылаться на систему.Во время выполнения.Сериализация.файл DLL. Он доступен только в .Net >= 3
[DataContract] и [DataMember] атрибут находятся в системе.Servicemodel пространство имен, которое находится в системе.Средство servicemodel.файл DLL.
в visual studio для .NET 4.0 framework,
- пытаемся добавить новую ссылку на проект.
- На Вкладке .Net, Поиск
System.Runtime.Serialization
. - теперь вы можете использовать
using System.Runtime.Serialization
. И ошибка не будет показана.
сначала я добавляю ссылки на свою модель, затем использую их в своем коде. Есть две ссылки, которые вы должны добавить:
использование системы.Средство servicemodel;
использование системы.Во время выполнения.Сериализация;
затем эта проблема была решена в мою программу. Надеюсь, этот ответ поможет вам. Спасибо.