Я согласен с @Henk - у библиотечных сборок не должно быть ссылок WCF.Если по какой-либо причине это требуется, я бы использовал внедрение зависимостей и передавал ссылку на сервис в библиотечную функцию - это жизненно важно для максимальной пользы тестирования .
Я также надеваюне покупайте аргумент «Программно создавать конечную точку не красиво».Создание и назначение конечной точки - это всего лишь пара строк кода, и это метод, который я использую почти исключительно с моими компонентами Silverlight (например, если в файле ServiceReferences.ClientConfig не указан адрес, то я отступлюк известным местам обслуживания в хост-приложении, и в этом случае эти конечные точки создаются программно).
По сути, если вы не возражаете против пары строк кода, необходимых для программного создания конечной точки, то вы можетехраните ваши адреса в любом месте, в любом файле конфигурации.Вам нужно хранить адреса только в app.config, если вы собираетесь использовать чисто декларативный подход.