Пусть Visual Studio совместно использует пространство имен с несколькими ссылками на службы - PullRequest
4 голосов
/ 21 марта 2011

Есть ли какой-либо способ, кроме ручного кодирования файла Reference.cs, чтобы заставить Visual Studio разрешить нескольким ссылкам на службы совместно использовать пространство имен?

Я занимаюсь разработкой клиентского приложения, которое использует несколькоуслуги, которые являются частью одного решения.Нечто похожее на API-интерфейс Project Service Interface (PSI), разработанный Microsoft для MS-Project Server.Вместо того, чтобы иметь разные пространства имен для каждой отдельной ссылки на службу, например:

MyProject.ProjectService.ProjectServiceClient
MyProject.ResourceService.ResourceServiceClient
MyProject.TimesheetService.TimesheetServiceClient

, было бы неплохо, если бы мы могли выбросить их все в одно пространство имен, например:

MyProject.Services.ProjectServiceClient
MyProject.Services.ResourceServiceClient
MyProject.Services.TimesheetServiceClient

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

Это возможно?

ОБНОВЛЕНИЕ

Давайте предположим, что у меня нет доступа к коду услуги (Потому что я не), что означает, что совместно используемая библиотека классов не вариант.Какие у меня варианты в этом случае?

1 Ответ

1 голос
/ 21 марта 2011

Вы можете поместить эти общие классы в библиотеку классов, которая используется как службами, так и клиентами. Затем Visual Studio не будет генерировать классы для каждой ссылки на службу, а вместо этого будет использовать общую библиотеку классов.

...