Тип CLR не сериализуем - C # - PullRequest
0 голосов
/ 24 ноября 2010

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

tfsBuild.ProcessParameters = WorkflowHelpers.SerializeProcessParameters(process);

, где процесс - это словарь, а один из элементов, которые я назначаю, имеет тип:

IList<Microsoft.TeamFoundation.VersionControl.Client.Changeset>

и Changeset - это public sealed.

Сбой WorkflowHelpers.SerializeProcessParameters с

Unable to serialize type 
'Microsoft.TeamFoundation.VersionControl.Client.Changeset'.
  Verify that the type is public and either has a default constructor 
or an instance descriptor.

, поскольку все типы должны быть сериализуемыми.

Любоймысли / обходные пути / идеи?

Спасибо

1 Ответ

2 голосов
/ 24 ноября 2010

Вы можете использовать другой пользовательский класс и включать только нужные вам свойства вместо Changeset, который не сериализуем. AutoMapper может облегчить преобразование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...