Как повторно использовать проекты Silverlight в WPF?


Я хотел бы использовать один и тот же проект (библиотеку классов) в Silverlight и WPF. Итак, я начал как библиотека класса Silverlight.

Но проблема в том, что некоторые общие классы (например, Point, TouchAction) существуют в разных сборках, и компилятор показывает следующую ошибку, когда я добавляю ссылку на библиотеку классов Silverlight в проект WPF.

Тип ' система.Окна.Точка "существует в обоих" c:Program файлыссылка СборкиMicrosoft FrameworkSilverlightv4. 0System.Окна.dll' и 'C:Program файлыссылочные сборкиMicrosoft Framework.NETFrameworkv4. 0WindowsBase.dll '

Может ли кто-нибудь предложить обходной путь?

1 2

1 ответ:

Вы можете попробовать призму 2.0 подход:

У

Есть два отдельных проекта, но связывают файлы из одного в другой. Фрагменты, относящиеся к одной платформе, могут быть разделены в условной компиляции (#ifdef _SILVERLIGHT ... #оператор elseif ... # конец)

Ознакомьтесь с кратким описанием Мультитаргетинга для получения более подробной информации (хотя все быстрые старты плюс ссылочная реализация имеют версии Silverlight & WPF, образец мультитаргетинга является самым простым, если вы только хотите поделиться код между платформами). В том же проекте вы найдете инструмент Компоновщик проектов (хотя он работает только в VS2008, насколько мне известно), который автоматически синхронизирует два или более проектов, добавляя ссылки автоматически при добавлении новых элементов в исходный проект.

Надеюсь, это поможет!