Подтвердить что ты не робот

Лучший способ совместного использования кода между 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 не может быть найден во время выполнения"

Я хочу поделиться кодом между двумя проектами, как это можно достичь чистым способом?

Спасибо за любую помощь, которую вы можете дать

4b9b3361

Ответ 1

Создайте два параллельных проекта для WPF и один для Silverligth. Для одного из проектов добавьте файлы в виде ссылок вместо файлов.

Я сделал это успешно для Microsoft Silverlight Analytics Framework с одной базой кода для Silverlight 4, WPF и Windows Phone 7.

Ответ 2

Как насчет кода обмена xaml с помощью silverlight и WPF

Ответ 3

Создайте проект Portable". на которые можно ссылаться как из WPF, так и из Silverlight