Лучший способ поделиться кодом между WPF и Silverlight - PullRequest
12 голосов
/ 07 января 2011

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

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

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

Ответы [ 3 ]

7 голосов
/ 07 января 2011

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

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

0 голосов
/ 02 февраля 2015

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

0 голосов
/ 04 марта 2013

А как насчет общего кода xaml с silverlight и WPF

...