Во-первых, давайте рассмотрим первую часть вашего вопроса:
Можно ли использовать библиотеки универсальных классов Windows 10 из таких классических приложений?
Чтобы ответить на этот вопрос, я создал новое решение в VS2015 со следующими проектами:
- Настольное приложение WPF с именем wpfApp
- Приложение Win10 UWP с именем win10App
- Библиотека классов Win10 UWP с именем win10Lib
Затем я смог добавить библиотеку классов в качестве ссылки на приложение UWP. Но я получил сообщение об ошибке при попытке добавить ссылку на библиотеку в настольное приложение.
![введите описание изображения здесь](https://i.stack.imgur.com/ue7NS.png)
(СКРИНШОТ: сообщение об ошибке при попытке добавить библиотеку UWP в качестве ссылки в настольное приложение)
Далее вторая часть вашего вопроса:
и если нет, то какой рекомендуемый способ обмена кодом в этом сценарии?
Затем я добавил новый проект библиотеки классов, но не универсальный... Я выбрал параметр «Переносимая библиотека классов» в разделе «Классические настольные приложения». Это позволило мне выбрать, какую платформу (платформы) я хочу поддерживать, включая .NET 4.6 и Windows Universal 10.0.
![введите описание изображения здесь](https://i.stack.imgur.com/T9foA.png)
(СКРИНШОТ: добавление переносимой библиотеки классов)
Итак, теперь у меня есть новый проект библиотеки классов в моем решении:
- классическая библиотека классов рабочего стола (переносимая) с именем PortableLib
Я снова начал добавлять ссылку на библиотеку классов в свое настольное приложение WPF, выбрав свой новый проект PortableLib. Однако я получил следующее сообщение об ошибке:
![введите описание изображения здесь](https://i.stack.imgur.com/BsqBB.png)
(СКРИНШОТ: сообщение об ошибке при добавлении ссылки на переносимую библиотеку классов в проект WPF)
Это произошло потому, что я выбрал 4.6 (версия по умолчанию для .NET Framework) в качестве одной из платформ при создании библиотеки классов, но мой проект WPF все еще был нацелен на более старую версию .NET Framework. Я исправил это, отредактировав свойства проекта приложения WPF и обновив цель, чтобы она соответствовала версии платформы библиотеки классов.
Наконец, я добавил ссылку на новую переносимую библиотеку классов в свое приложение Win10 UWP, и она была успешно добавлена. Теперь я могу построить решение без ошибок.
Вот скриншот структуры моего проекта со ссылками. ![введите описание изображения здесь](https://i.stack.imgur.com/RQxAX.png)
Надеюсь это поможет!
person
Shahed C - MSFT
schedule
02.09.2015