0

У меня есть Проект библиотеки классов, который я хотел бы использовать в Windows Phone и Silverlight Apps (Windows 8.1). Эффективно превратите его в Class Libary (Portable).Создайте библиотеку классов, которая будет работать на всех платформах Windows

Мой класс Библиотека имеет Window базовый класс (унаследованный от System.Windows.Window), однако это не доступно в портативных библиотек классов.

Чтобы сделать это просто:

1) Можно ли создать универсальную библиотеку классов, которая позволит мне использовать его на рабочем столе окна, а также окна 8.1 и Windows Phone 8.1?

2) Как добавить класс, который наследуется от System.Windows.Window в портативной библиотеке классов? Нужно ли использовать предпроцессорные директивы? Как я могу обратиться к System.Windows?

Имею ли я это правильно? Есть ли лучшее решение?

+4

1) да 2) у вас нет – Will

+1

, вы не можете делиться компонентами пользовательского интерфейса. –

+0

Если вы готовы пожертвовать платформой .NET, вы можете рассмотреть [Xamarin.Forms] (http://xamarin.com/forms), которая позволяет вам определить большую часть пользовательского интерфейса в портативной библиотеке классов. * Xamarin.Forms * в настоящее время нацелен на Android, iOS и Windows Phone 8 Silverlight, но поддержка Windows 8.1 и Windows Phone 8.1 (не-Silverlight) [на своем пути] (http://blog.xamarin.com/xamarin.forms -для-окна-магазин-просмотр-и-Xamarin-для-ОСС /). –

ответ

1

Вы не можете. PCL позволяет только определенное подмножество .NET framework. В зависимости от вашей конфигурации это более или менее полная структура.

То, что вы не можете сделать, в любом случае, включает в себя сборки и типы, которые не совместимы с PCL, например, в этом случае System.Windows.Window.

Итак, ответ: вы не можете этого сделать. Создайте новую сборку для частей, основанных на пользовательском интерфейсе.

+0

@Mike нужна дополнительная помощь? –