ответ Sixto правильный. С помощью WCF вы можете разделить библиотеку BO между клиентом и службой и повторно использовать эти объекты (просто настройте ссылку на службу WCF таким образом), но в вашем случае это не сработает. Проблема в том, что ваш проект BO является стандартным проектом .NET, а не проектом Silverlight.
Обычно мои проекты немного отличаются от ваших:
- Общие объекты - это будут структуры данных, размеченные атрибутами WCF, и также будут содержать любые общие интерфейсы, такие как мой интерфейс уровня данных.
- Доступ к данным - любые объекты доступа к данным. Он ссылается только на общие объекты и возвращает их из вызовов данных.
- Бизнес-логика (необязательно) - если есть другие веб-сервисы для взаимодействия с флешкой, которая находится в своем собственном слое
- Сервис - Фактический сервис WCF, ссылки на Common напрямую и другие проекты через интерфейсы
- Silverlight - справочная служба
Если вы переместили свою бизнес-логику в ее проект и просто ссылались на свои общие "тупые" объекты, то вы, вероятно, могли бы создать два логических проекта, один silverlight и один стандарт, и просто иметь фактические файлы в одном и создавать ссылки на эти файлы в другом. Таким образом вы получите одинаковую логику в обоих проектах, и она будет существовать как в Silverlight, так и в стандартном .NET.