Ссылка службы WCF не использует типы существующих сборок (VS 2010 Beta 2)

Я ищу наилучший подход к совместному использованию типов (фактических классов, а не прокси) между сервисом WCF и клиентом. С этой целью я определил классы в отдельной сборке, как ссылку на службу, так и клиент. Во время создания ссылки на службу в клиенте я выбрал "Типы повторного использования во всех ссылочных сборках", но с помощью ссылочных букв .cs генерируется прокси для всех классов.

Это точно такой же вопрос, как этот, но я не знаю, как реализовать принятое решение. Одно из отличий в том, что я использую VS 2010 Beta 2.

импортировать полный контракт на обслуживание в форме кода

или

создайте свой собственный класс, основанный на базе ClientBase. Это действительно очень легко

Предполагая, что это лучший подход, я был бы признателен за хорошую ссылку, в которой рассказывается, как это сделать. Является ли подход, обозначенный в связанном ответе лучшим?

Ответ 1

Я сделал две вещи на одном шаге. Не уверен, что один или оба разрешили проблему:

  • Добавлен [DataContract (Namespace = "My.Shared.Assemblys.Namespace" )] к одному из классов в общей сборке.
  • Перезагрузка VS 2010 Beta 2

Ответ 2

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

Ответ 3

Моя проблема с VS2010 SP1 пыталась использовать класс, полученный из Dictionary<T,U> с атрибутом CollectionDataContract. Кажется, VS не будет повторно использовать тип... Я также попробовал предложение Эрика выше, но это не сработало.