Лучший способ совместного использования кода между WPF и Silverlight
У меня есть решение, содержащее как Silverlight 4, так и WPF 4. Одна из них - веб-версия приложения, а другая - настольная версия.
Оба проекта имеют одинаковые классы и интерфейсы домена и оба доступа к облаку для хранения и другие вещи.
Я хотел создать общий проект "Интерфейсы и классы", поэтому я создал библиотеку классов, но разве вы не знаете, что Silverlight не может добавить ссылку на библиотеку классов. Поэтому я создал общий проект как библиотеку классов Silverlight, но когда я ссылаюсь на проект WPF, я получаю предупреждения:
Warning The project 'Interface.Common.Silverlight' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)
и я даже получаю ошибки загрузки в классе при использовании любого класса из этой библиотеки, потому что "System.Windows не может быть найден во время выполнения"
Я хочу поделиться кодом между двумя проектами, как это можно достичь чистым способом?
Спасибо за любую помощь, которую вы можете дать
Ответы
Ответ 1
Создайте два параллельных проекта для WPF и один для Silverligth. Для одного из проектов добавьте файлы в виде ссылок вместо файлов.
Я сделал это успешно для Microsoft Silverlight Analytics Framework с одной базой кода для Silverlight 4, WPF и Windows Phone 7.
Ответ 2
Как насчет кода обмена xaml с помощью silverlight и WPF
Ответ 3
Создайте проект Portable".
на которые можно ссылаться как из WPF, так и из Silverlight