检测操作系统版本 – Windows Phone 7或Windows Phone 8?

我有一个Windows Phone 7的应用程序。我在Windows 8桌面上创建了visual studio 2012。 我试图在Windows Phone 8设备中使用该应用程序也涉及一些更改。 如何以编程方式检测设备是Windows Phone 7还是Windows Phone 8?

就像在C#上的任何其他平台一样: Environment.OSVersion

您可以使用此工具包检查手机的版本: http : //mangopollo.codeplex.com/

bool IsWP8():如果运行应用程序的手机是Windows Phone 8,则返回

编辑:如果你不想在这里使用整个工具包是如何检查它:

 public static bool IsWP8 { get { return Environment.OSVersion.Version >= TargetedVersion; } } private static Version TargetedVersion = new Version(8, 0); 

致原作者的信誉。

你不应该这样做。

它是Windows Phone 7应用程序,可以在Windows Phone 7和Windows Phone 8设备上运行,也可以在Windows Phone 8应用程序中运行。

在Windows Phone 8上运行的Windows Phone 7应用程序应该无法执行Windows Phone 7设备无法执行的任何操作。

这篇文章也有一些很好的策略。

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

它不仅仅是关于运行时,例如,您的代码可能在wp7上以一种方式运行,而另一种在wp8上运行,具体取决于API的可用性。 在这种情况下,#define可能是最好的方法,因为你真的不在乎你在运行什么样的设备,而是你构建的SDK。