...

пятница, 27 декабря 2013 г.

[Из песочницы] Использование 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об решения проблемы.

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


Последовательность действий:

1. В папке ...\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile104\SupportedFrameworks/ находим конфигурационные 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я версия.


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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Комментариев нет:

Отправить комментарий