Я закончил тем, что взял код, сгенерированный Visual Studio в каталоге Generated_Code основного приложения Silverlight, и создал несколько библиотек Silverlight для разделения Ria DomainContext, службы аутентификации, сущностей и других служб домена, которые мы написали. Затем я извлек интерфейсы для DomainContext и т. Д. И поместил их в собственную библиотеку. Используя Microsoft Unity Framework для Silverlight, я смог отделить все свои модули от основного проекта. Все мои модули теперь используют интерфейсы. В основном приложении есть один контейнер IoC, где я регистрирую все классы, которые реализуют интерфейсы, и они внедряются в страницы по мере их создания. Не так уж и сложно. Единственное, что нужно помнить, это оставить атрибут EnableClientAccess на классах доменных служб на сервере, но удалить ссылку на проект сервера ASP.Net из основного приложения Silverlight. Я читал, что они планируют упростить это в финальной версии Ria services / Silverlight 3, поскольку другие люди жаловались на тесную связь, создаваемую текущей настройкой.