Share via


Как разделять код между .Net и Silverlight-проектами. Часть 3

Итак, мы уже умеем делать две вещи:

  1. Разделять код между .NET и Silverlight-проектами на уровне исходников
  2. Оставаясь в рамках одного файла, вносить изменения, специфичные для целых платформ компиляции

Собственно, оба этих пункта касаются разделения кода на уровне исходников. Сегодня мы будем пытаться добиться разделения кода на уровне сборок (dll-библиотек кода).

Продолжим работать с нашим предыдущим примером с классом Person.

Важно сразу отметить, что разделяемой будет не любая библиотека, а исключительно silverlight-библиотека классов. То есть речь идет об использовании сборок бизнес-логики в направлении Silverlight → полный .NET, от подмножества к целому, что вполне логично.

Первым делом, создаем новую библиотеку: Add New Project → Silverlight Class Library:

image

Далее я перенесу в нее наш класс Person (из первой части — без директив условной компиляции):

image

Следующий пункт — добавить ссылку на проект с библиотекой в Silverlight и WPF-проекты:

image

image

И совершенно аналогично для проекта CodeSharingWPF (кстати, ссылки на класс Person уже не понядобятся, их нужно удалить, если они у вас остались):

image

Компилируем, смотрим результат:

image

image

Проверьте используемые в каждом из проектов библиотеки. Библиотека SharedLibrary.dll будет одна и та же.

 

 

Исходники прилагаются.