Поскольку у меня много служб WCF, используемых моим проектом, и я не хочу запускать слишком много экземпляров VS для отладки, это то, что я делаю: -
Если вы в порядке с местным IIS, вы можете рассмотреть это.
Для каждой службы WCF я создал проект веб-сайта.
Проекты этого веб-сайта также доступны в виде веб-папок в локальном IIS. например, http: \ mylocalmachine \ WCFService1 \ servicefile.svc
В моих клиентах WCF web.config URL-адрес службы указан выше.
например (http: \ mylocalmachine \ WCFService1 \ servicefile.svc)
Поскольку я не хочу развертывать вручную каждый раз, когда меняю службу, в пост-сборке каждого проекта службы WCF у меня есть задача пост-сборки, которая копирует содержимое каталога bin в каталог bin сайта. для соответствующей службы WCF (однократная настройка для пост-сборки)
Моя структура папок такова, что для каждого сервисного проекта существует сервисный хост-сайт (веб-сайт) на одном уровне, поэтому постбилд также очень прост.
Когда я запускаю свой клиент WCF (F5), сервисные проекты компилируются, их содержимое копируется в корзину веб-сайтов (то есть автоматически развертывается в IIS), и я могу отлаживать любой сервис, просто войдя в код как мои услуги находятся в том же решении, что и мой клиент WCF
Дополнительным преимуществом этого подхода является то, что моя отладка (по крайней мере, служб) также использует IIS, аналогично тому, как будет выглядеть моя производственная настройка.
Редактировать: я не помещаю хост-проекты служб (веб-сайты) в мое решение, так как в противном случае при запуске моего клиента WCF VS открывает экземпляр cassini для каждого из них, что раздражает, и в любом случае я не нуждаюсь или не использую