- PVSM.RU - https://www.pvsm.ru -

Использование Portable Class Libraries c поддержкой Windows Phone 7.5 в Visual Studio 2013

Как известно, в Visual Studio 2013 более не поддерживается разработка приложений для Windows Phone 7. В тоже время, только в 13-й версии можно разрабатывать приложения для Windows 8.1. Все бы ничего, если бы отказ от поддержки WP7 не коснулся и Portable Class Libraries(PCL). При первом запуске проекта 13я Visual Studio предлагает сконвертировать кросс-платформенный PCL проект, оставив только поддержку Windows Phone 8.
Не вступая в споры о целесообразности этого решения и мотивации Microsoft, отметим, что у множества разработчиков более или менее ощутимый процент пользовательской базы пользуется Windows Phone 7 устройствами. Одновременно хочется использовать все вкусности, которые предоставляет разработчику новая версия Visual Studio.
Решение проблемы предлагается под катом.

Итак, выхода из сложившейся ситуации два:
1. Принять волевое решение и отказаться от поддержки Windows Phone 7 версии приложения.
2. Поддерживать две ветки PCL библиотек.
Естественно, не одно из этих решение не является оптимальным и несет с собой определенные проблемы.

Как выяснилось, имеется так же «альтернативный» споcоб решения проблемы.
Решение найдено Йоханом Лаанстрой и описано в его личном блоге [1]. Автор озадачился решением проблемы еще во времена, когда Visual Studio 2013 находилась в стадии релиз-кандидата. Решение сводится к правке конфигурационных файлов .NET Framework для PCL библиотек. Как справедливо отмечено в статье, этот “хак” не является официальным решением и вводит Visual Studio в неподдерживаемое состояние. Соответственно, и проблемы это решение может за собой повлечь самые непредсказуемые. От себя могу сказать, что за неделю разработки проблем замечено не было.

Последовательность действий:
1. В папке ...Program Files (x86)Reference AssembliesMicrosoftFramework.NETPortablev4.0ProfileProfile104SupportedFrameworks/ находим конфигурационные XML-файлы “Silverlight 4.xml” и “Windows Phone 7.5.xml”
2. Исправляем в каждом из них значение свойста MaximumVisualStudioVersion с “11.0” на “12.0”.
3. Перезапускаем студию при необходимости. Мне в придачу пришлось перезапустить Resharper в Visual Studio, но мой случай единичный.

Теперь можно продолжать разрабатывать, используя одну версию PCL библиотек. Для разработки Windows Phone 7/8 приложения используется Visual Studio 2012, а для Windows 8 и 8.1 приложений — 2013я версия.

Спасибо за внимание!

Автор: se_mak

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/windows-phone-7/51751

Ссылки в тексте:

[1] блоге: http://www.johanlaanstra.nl/2013/09/22/portable-class-libraries-with-wp7-support-in-visual-studio-2013-rc/

[2] Источник: http://habrahabr.ru/post/207690/