К этому времени каждый разработчик Windows знает об универсальных приложениях, которые позволяют создавать приложения с большинством общего кода под платформы Windows 8.1 и Windows Phone 8.1.
Ключевая концепция этого нового подхода это Shared project — особый вид проекта, который не имеет никакого бинарного выхода, а просто позволяет распределять (шарить) классы и т.п. между проектами.
Конечно же у нас есть возможность адаптировать дизайн для каждого устройства. Мы также можем использовать директивы и частичные классы в общем проекте, чтобы определить специфичный код, который будет собираться под каждым приложением. Таким образом, у нас есть один общий пункт сбора для Windows 8.1 и Windows Phone 8.1 проектов, но мы также можем написать собственный код для каждого из них.
Но что же делать, если мы хотим шарить код между различными приложениями, потому что, например, мы хотим перераспределить наши библиотеки? Прежде всего, мы можем подумать об использовании портативных библиотек. Этот тип проекта был улучшен в Visual Studio 2013 Update 2 и теперь, если мы нацелены на Windows 8.1 и Windows Phone 8.1, мы сможем использовать всё общее API. Тем не менее PCL производит единственный двоичный файл, который работает на всех поддерживаемых платформах. Обработка расходящегося API требует использования абстракции более высокого уровня, например, инъекции зависимостей или IoC контейнеры. Мы не можем просто использовать директивы для определения, к какой платформе будет принадлежать код/
К счастью, есть другое решение. Недавно было выпущено расширение под Visual Studio 2013 под названием Shared Project Reference Manager, который позволяет использовать одну и ту же концепцию универсального общего проекта практически с любым C#, VB.NET, C ++ и т.п.. Давайте посмотрим, как его использовать.
Прежде всего, создать два класса библиотек, один для Windows, и второй для Windows Phone. Они будут содержать любой код, если это необходимо.
После мы должны добавить новый общий проект к решению. Этот шаблон был добавлен в IDE после установки расширения, описанного выше.
Замечание: очень важно заметить, что выделение должно быть именно на “Visual C#”, т.к. если оно будет на каком-либо другом, например “Universal Apps”, это шаблон НЕ будет представлен.
После этого щелкните правой кнопкой мыши на пункт “Reference” в обеих библиотеках классов, выберите команду Add Shared Project Reference и в новом окне нажмите на общий проект, который мы только что создали.
Теперь мы можем приступить к созданию любого файла в этом новом общем проекте, как мы делаем это всегда. Поведение будет такое же, как и у основных проектов — все, что мы к нему добавим, будет автоматически доступно в обоих конкретных библиотеках.
Вот и вся суть нового расширения, которое помогает значительно улучшить распределение кода и сделать его еще более универсальным.
Ссылка на источник: How to share code among different Universal Windows apps
Добавить комментарий