У меня также была проблема неработающих ссылок на сервисы при работе с ссылками на проект с обеих сторон (проект сервиса и проект, имеющий ссылку на сервис).
Если .dll указанного проекта, например, называется «Contoso.Development.Common», но имя проекта просто сокращается до «Common», то ссылки на этот проект также называются просто «Common». Однако служба ожидает ссылку на «Contoso.Development.Common» для разрешения классов (если эта опция активирована в опциях ссылки на службу).
Итак, в проводнике я открыл папку проекта, ссылающуюся на сервис, и «Общий» -проект. Там я редактирую файл проекта VS (.csproj) с помощью блокнота.
Найдите имя ссылочного проекта (в данном примере «Common.csproj»), и вы быстро найдете запись конфигурации, представляющую ссылку на проект.
Я изменил
<ProjectReference Include="..\Common\Common.csproj">
<Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project>
<Name>Common</Name>
</ProjectReference>
до
<ProjectReference Include="..\Common\Common.csproj">
<Project>{C90AAD45-6857-4F83-BD1D-4772ED50D44C}</Project>
<Name>Contoso.Development.Common</Name>
</ProjectReference>
Важно поменять имя ссылки на имя dll, на который ссылается проект в качестве вывода.
Затем переключитесь обратно на VS. Там вам будет предложено перезагрузить проект, так как он был изменен за пределами VS. Нажмите кнопку перезагрузки.
После этого добавление и обновление ссылки на службу работали так же, как и ожидалось.
Надеюсь, это поможет кому-то еще.
С уважением
MH