2012-06-03 2 views
0

Есть ли способ программно определить наличие Windows Phone 7 SDK (версии 7.0, 7.1 и/или 7.11) и конкретные компоненты, такие как эмулятор, эмулятор, эмулятор, эмулятор версия изображения, сборки и т. д.обнаруживает существование wp7 sdk и отдельных компонентов

Я ищу это из простого консольного приложения .NET 4. How can I tell what WP7 SDK version a machine is using? имеет немного информации, но не кажется достаточно полным.

Благодаря

ответ

0

Это класс я использовать информацию об устройстве

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(); 
    } 
} 

Greets

0

Я считаю, вы хотите получить информацию об установленных инструментах для разработчиков на разработчик машины. По этой причине один из способов может быть, чтобы проверить установленные папки и для этого следующий код может быть использован:

  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; 
      } 

В самом деле, может быть лучше, чтобы написать этот код, но это то, что я могу прийти с. Надеюсь, это помогает.

Смежные вопросы