Как разделять код между .Net и Silverlight-проектами. Часть 3
Итак, мы уже умеем делать две вещи:
- Разделять код между .NET и Silverlight-проектами на уровне исходников
- Оставаясь в рамках одного файла, вносить изменения, специфичные для целых платформ компиляции
Собственно, оба этих пункта касаются разделения кода на уровне исходников. Сегодня мы будем пытаться добиться разделения кода на уровне сборок (dll-библиотек кода).
Продолжим работать с нашим предыдущим примером с классом Person.
Важно сразу отметить, что разделяемой будет не любая библиотека, а исключительно silverlight-библиотека классов. То есть речь идет об использовании сборок бизнес-логики в направлении Silverlight → полный .NET, от подмножества к целому, что вполне логично.
Первым делом, создаем новую библиотеку: Add New Project → Silverlight Class Library:
Далее я перенесу в нее наш класс Person (из первой части — без директив условной компиляции):
Следующий пункт — добавить ссылку на проект с библиотекой в Silverlight и WPF-проекты:
И совершенно аналогично для проекта CodeSharingWPF (кстати, ссылки на класс Person уже не понядобятся, их нужно удалить, если они у вас остались):
Компилируем, смотрим результат:
Проверьте используемые в каждом из проектов библиотеки. Библиотека SharedLibrary.dll будет одна и та же.