Поскольку SL! = .NET, вам нужно собрать их в Silverlight сборки, с помощью Silverlight компилятор. Другими словами, вы не можете напрямую потреблять их без малейшего обмана.
Один из вариантов - создать проект Silverlight, а затем использовать привязку к файлам для совместного использования кодовых файлов из проекта .NET (без их дублирования). Обычный проект владеет файлами, содержащимися в нем, но «связанный» файл включен для компиляции, не будучи полностью принадлежащим проекту. Файлы связаны, перейдя в диалог «Добавить файл> Добавить существующий файл», посмотрите в нижнем правом углу, и вы увидите, что вы можете «связать» существующий файл.
Что вы можете сделать:
- Есть свой обычный проект .NET, с вашим .cs файлами
- Есть Silverlight проект, который ссылки на свой первый код проектов FILES
Когда вы компилируете проект Silverlight, он будет обрабатывать связанные файлы, как если бы они принадлежали проекту SL (но на вашем диске есть только одна копия внутри вашего проекта .NET).
Задача вы можете столкнуться, состоит в том, что не все типы .NET поддерживаются в Silverlight, так что если ваш бизнес-объекты содержат эти, то ваш код .NET не может скомпилировать под Silverlight. Вы можете использовать пред-компиляторные директивы, чтобы иметь 2x сигнатуры методов для этих случаев: 1x .NET и 1x SL совместимые. Вы бы установили директиву (то есть: Silverlight==True
), и компилятор выбрал тот или другой.
Например:
#IF SILVERLIGHT
public void SomeMethod(SilverlightType someParam)
#ELSE
public void SomeMethod(SomeDotNetType someParam)
#ENDIF
Here's a link with a walkthrough from Rocky Lhotka (автор/CSLA.net рамки дизайнер). Он упоминает использование связанных файлов и/или частичных классов для выборочной компиляции для каждой платформы.