Определить версию ОС - Windows Phone 7 или Windows Phone 8?

У меня есть приложение для Windows Phone 7. Я создал визуальную студию 2012 в рабочем столе Windows 8. Я пытаюсь использовать приложение на устройстве Windows Phone 8 с некоторыми изменениями. Как я могу программным образом определить, является ли устройство Windows Phone 7 или Windows Phone 8?

Ответ 1

Как и на любой другой платформе с С#: Environment.OSVersion

Ответ 2

Вы можете использовать этот инструментарий для проверки версии телефона: http://mangopollo.codeplex.com/

bool IsWP8(): Возвращает, если телефон, на котором запущено приложение, является Windows Phone 8

EDIT: Если вы не хотите использовать весь инструментарий, вот как он его проверяет:

public static bool IsWP8 { get { return Environment.OSVersion.Version >= TargetedVersion; } }

    private static Version TargetedVersion = new Version(8, 0);

Квесты оригинальному автору.

Ответ 3

Вам не нужно.

Либо это приложение для Windows Phone 7, но и будет работать как на Windows Phone 7, так и на Windows Phone 8 или на Windows Phone 8.

Приложение Windows Phone 7, работающее на Windows Phone 8, не должно делать ничего, что не может сделать устройство Windows Phone 7.

Ответ 4

В этой статье также есть хорошие стратегии.

http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202996(v=vs.105).aspx

Речь идет не только о времени выполнения, например, ваш код может работать в одном режиме на wp7, а другой - на wp8 в зависимости от доступности API. В этом случае #define может наилучшим образом пойти, потому что вам действительно все равно, какое устройство вы используете, но какой SDK вы создали против.