有没有办法以编程方式检测 Windows Phone 7 SDK(版本 7.0、7.1 和/或 7.11)和特定组件(如模拟器、模拟器版本、模拟器映像版本、程序集等)的存在。
我希望通过一个简单的 .NET 4 控制台应用程序来做到这一点。如何判断机器使用的 WP7 SDK 版本?有一点信息,但似乎不够完整。
谢谢
有没有办法以编程方式检测 Windows Phone 7 SDK(版本 7.0、7.1 和/或 7.11)和特定组件(如模拟器、模拟器版本、模拟器映像版本、程序集等)的存在。
我希望通过一个简单的 .NET 4 控制台应用程序来做到这一点。如何判断机器使用的 WP7 SDK 版本?有一点信息,但似乎不够完整。
谢谢
这是我用于设备信息的类
public class DeviceInformation
{
public static Device GetDeviceInfo()
{
Device deviceInfo = new Device();
deviceInfo.Id = getDeviceId();
deviceInfo.Name = getDeviceName();
deviceInfo.Manufacturer = getDeviceManufacturer();
deviceInfo.OSVersion = System.Environment.OSVersion.ToString();
deviceInfo.Language = CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
return deviceInfo;
}
private static String getDeviceId()
{
Object uniqueId;
StringBuilder deviceId = new StringBuilder();
if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
{
for (int i = 0; i < ((byte[])uniqueId).Length; i++)
{
deviceId.Append(((byte[])uniqueId)[i]);
}
}
return deviceId.ToString();
}
private static String getDeviceName()
{
Object deviceName;
DeviceExtendedProperties.TryGetValue("DeviceName", out deviceName);
return deviceName.ToString();
}
private static String getDeviceManufacturer()
{
Object deviceManufacturer;
DeviceExtendedProperties.TryGetValue("DeviceManufacturer", out deviceManufacturer);
return deviceManufacturer.ToString();
}
}
问候
我相信,您想获取有关在开发人员机器上安装的开发人员工具的信息。出于这个原因,一种方法可能是检查已安装的文件夹,并且可以使用以下代码:
public static List<double> GetSdkVersion()
{
var versions = new List<double>();
var data = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86);
var sdkPath = Path.Combine(data, @"Microsoft SDKs\Windows Phone\v7.0");
var version = Directory.Exists(sdkPath);
versions.Add(7.0);
sdkPath = Path.Combine(data, @"Microsoft SDKs\Windows Phone\v7.1");
return versions;
}
public static List<double> GetEmulatorVersios()
{
var versions = new List<double>();
var data = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86);
var sdkPath = Path.Combine(data, @"Microsoft XDE\1.0");
var version = Directory.Exists(sdkPath);
versions.Add(1.0);
return versions;
}
确实,编写此代码可能会更好,但这是我可以提供的。希望能帮助到你。