Есть ли какой-либо способ, кроме ручного кодирования файла 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
Наряду с этим появляется возможность совместного использования общего кода. Например, если какая-либо из этих служб предоставляет один и тот же контракт данных. Прямо сейчас, если я хочу написать код, который сможет использовать мой клиент, мне придется создать отдельную версию для каждого сервисного прокси, потому что общий контракт существует в трех разных пространствах имен. Видишь, куда я иду?
Это возможно?
ОБНОВЛЕНИЕ
Предположим, что у меня нет доступа к сервисному коду (потому что у меня его нет), а это значит, что общая библиотека классов не подходит. Каков мой выбор в этом случае?