в моем веб-сервисе я ссылаюсь на dll с классом, который содержит свойство типа Icon
(среди прочих типа string
и DateTime
).При создании ссылки на службу в моем проекте UnitTest я получаю следующую ошибку:
Ошибка:
Тип ISerializable с именем контракта данных 'Icon' в пространстве имен 'http://schemas.datacontract.org/2004/07/System.Drawing' не может бытьимпортирован.Пространство имен контракта данных нельзя настроить для типов ISerializable, а сгенерированное пространство имен KoenHoefman.ExchangeRate.WS.NUnit.QueryService не соответствует требуемому пространству имен CLR System.Drawing.Проверьте, сопоставлено ли требуемое пространство имен с другим пространством имен контракта данных, и рассмотрите возможность его явного сопоставления с использованием коллекции пространств имен.
У меня есть доступ к исходному коду этой библиотеки DLL, поэтому можновнести некоторые изменения, но эти изменения должны быть очень минимизированы.Класс помечен атрибутом Serializable
, который, вероятно, выдает предыдущую ошибку.При удалении этого атрибута я получил еще одну ошибку, в которой говорилось, что я должен пометить класс с помощью DataContractAttribute, а члены - с помощью DataMemberAttribute.
Теперь мне кажется, что это большое изменение, поскольку этот класс редко используется в веб-сервисе.(только в этот раз).Я еще не пробовал это, но мне было интересно, есть ли другое решение моей проблемы.
Спасибо.