Лучший способ поделиться кодом между WPF и Silverlight
-
30-09-2019 - |
Вопрос
У меня есть решение, содержащее как 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 нельзя найти во время выполнения»
Я хочу поделиться кодом между двумя проектами, как это может быть достигнуто чистым способом?
Спасибо за любую помощь, вы можете дать
Решение
Создайте два параллельных проекта один для WPF и один для SilverLigth. Для одного из проектов добавьте файлы в виде ссылок вместо файлов.
Я сделал это успешно для Microsoft Silverlight Analytics Framework С одной кодойной базой для Silverlight 4, WPF и Windows Phone 7.
Другие советы
Как насчет CHAML Code Code с Silverlight и WPF
Создать "Портативный«Проект. Это может быть указано как от WPF, так и Silverlight