Не вступая в споры о целесообразности этого решения и мотивации 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.
Комментариев нет:
Отправить комментарий