Пространство имен для [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 или ссылка на сборку?)




Я не использую правильные пространства имен?

632   5  

5 ответов:

DataContractAttribute класса в System.Runtime.Serialization пространство имен.

вы должны добавить ссылку System.Runtime.Serialization.dll. Однако эта сборка не упоминается по умолчанию. Чтобы добавить ссылку на проект, необходимо перейти в раздел ссылки - > добавить ссылку в обозревателе решений и добавить ссылку на сборку вручную.

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,

  1. пытаемся добавить новую ссылку на проект.
  2. На Вкладке .Net, Поиск System.Runtime.Serialization.
  3. теперь вы можете использовать using System.Runtime.Serialization. И ошибка не будет показана.

сначала я добавляю ссылки на мою модель, а затем использую их в своем коде. Есть две ссылки, которые вы должны добавить:

использование системы.ServiceModel;
использование системы.Во время выполнения.Сериализация;

затем эта проблема была решена в мою программу. Я надеюсь, что этот ответ может помочь вам. Спасибо.

Comments

    Ничего не найдено.