GetWindowsKit10() private static method

private static GetWindowsKit10 ( string &folder, System.Version &version ) : void
folder string
version System.Version
return void
示例#1
0
        public static IEnumerable <Version> GetInstalledSDKVersions()
        {
            string windowsKit = UWPReferences.GetWindowsKit10();
            IEnumerable <Version> result;

            if (string.IsNullOrEmpty(windowsKit))
            {
                result = new Version[0];
            }
            else
            {
                string path = UWPReferences.CombinePaths(new string[]
                {
                    windowsKit,
                    "Platforms",
                    "UAP"
                });
                if (!Directory.Exists(path))
                {
                    result = new Version[0];
                }
                else
                {
                    string[]             files      = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
                    IEnumerable <string> enumerable = from f in files
                                                      where string.Equals("Platform.xml", Path.GetFileName(f), StringComparison.OrdinalIgnoreCase)
                                                      select f;
                    List <Version> list = new List <Version>();
                    foreach (string current in enumerable)
                    {
                        XDocument xDocument;
                        try
                        {
                            xDocument = XDocument.Load(current);
                        }
                        catch
                        {
                            continue;
                        }
                        foreach (XNode current2 in xDocument.Nodes())
                        {
                            XElement xElement = current2 as XElement;
                            if (xElement != null)
                            {
                                Version item;
                                if (UWPReferences.FindVersionInNode(xElement, out item))
                                {
                                    list.Add(item);
                                }
                            }
                        }
                    }
                    result = list;
                }
            }
            return(result);
        }
示例#2
0
        public static IEnumerable <UWPSDK> GetInstalledSDKs()
        {
            string windowsKit = UWPReferences.GetWindowsKit10();
            IEnumerable <UWPSDK> result;

            if (string.IsNullOrEmpty(windowsKit))
            {
                result = Enumerable.Empty <UWPSDK>();
            }
            else
            {
                string path = UWPReferences.CombinePaths(new string[]
                {
                    windowsKit,
                    "Platforms",
                    "UAP"
                });
                if (!Directory.Exists(path))
                {
                    result = Enumerable.Empty <UWPSDK>();
                }
                else
                {
                    List <UWPSDK>        list       = new List <UWPSDK>();
                    string[]             files      = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
                    IEnumerable <string> enumerable = from f in files
                                                      where string.Equals("Platform.xml", Path.GetFileName(f), StringComparison.OrdinalIgnoreCase)
                                                      select f;
                    foreach (string current in enumerable)
                    {
                        XDocument xDocument;
                        try
                        {
                            xDocument = XDocument.Load(current);
                        }
                        catch
                        {
                            continue;
                        }
                        foreach (XElement current2 in xDocument.Elements("ApplicationPlatform"))
                        {
                            Version version;
                            if (UWPReferences.FindVersionInNode(current2, out version))
                            {
                                string s = (from e in current2.Elements("MinimumVisualStudioVersion")
                                            select e.Value).FirstOrDefault <string>();
                                list.Add(new UWPSDK(version, UWPReferences.TryParseVersion(s)));
                            }
                        }
                    }
                    result = list;
                }
            }
            return(result);
        }
示例#3
0
        public static string[] GetReferences(Version sdkVersion)
        {
            string windowsKit = UWPReferences.GetWindowsKit10();

            string[] result;
            if (string.IsNullOrEmpty(windowsKit))
            {
                result = new string[0];
            }
            else
            {
                string           text    = UWPReferences.SdkVersionToString(sdkVersion);
                HashSet <string> hashSet = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
                string           text2   = UWPReferences.CombinePaths(new string[]
                {
                    windowsKit,
                    "UnionMetadata",
                    text,
                    "Facade",
                    "Windows.winmd"
                });
                if (!File.Exists(text2))
                {
                    text2 = UWPReferences.CombinePaths(new string[]
                    {
                        windowsKit,
                        "UnionMetadata",
                        "Facade",
                        "Windows.winmd"
                    });
                }
                hashSet.Add(text2);
                string[] platform = UWPReferences.GetPlatform(windowsKit, text);
                for (int i = 0; i < platform.Length; i++)
                {
                    string item = platform[i];
                    hashSet.Add(item);
                }
                UWPReferences.UWPExtension[] extensions = UWPReferences.GetExtensions(windowsKit, text);
                for (int j = 0; j < extensions.Length; j++)
                {
                    UWPReferences.UWPExtension uWPExtension = extensions[j];
                    string[] references = uWPExtension.References;
                    for (int k = 0; k < references.Length; k++)
                    {
                        string item2 = references[k];
                        hashSet.Add(item2);
                    }
                }
                result = hashSet.ToArray <string>();
            }
            return(result);
        }
示例#4
0
        public static IEnumerable <UWPExtensionSDK> GetExtensionSDKs(Version sdkVersion)
        {
            string windowsKit = UWPReferences.GetWindowsKit10();
            IEnumerable <UWPExtensionSDK> result;

            if (string.IsNullOrEmpty(windowsKit))
            {
                result = new UWPExtensionSDK[0];
            }
            else
            {
                result = UWPReferences.GetExtensionSDKs(windowsKit, UWPReferences.SdkVersionToString(sdkVersion));
            }
            return(result);
        }
        private static void GetSDKFolderAndVersion(out string sdkFolder, out string sdkVersion)
        {
            Version version;

            UWPReferences.GetWindowsKit10(out sdkFolder, out version);
            sdkVersion = version.ToString();
            if (version.Minor == -1)
            {
                sdkVersion += ".0";
            }
            if (version.Build == -1)
            {
                sdkVersion += ".0";
            }
            if (version.Revision == -1)
            {
                sdkVersion += ".0";
            }
        }
示例#6
0
        public static string[] GetReferences()
        {
            string  text;
            Version version;

            UWPReferences.GetWindowsKit10(out text, out version);
            string text2 = version.ToString();

            if (version.Minor == -1)
            {
                text2 += ".0";
            }
            if (version.Build == -1)
            {
                text2 += ".0";
            }
            if (version.Revision == -1)
            {
                text2 += ".0";
            }
            HashSet <string> hashSet = new HashSet <string>(StringComparer.InvariantCultureIgnoreCase);
            string           item    = Path.Combine(text, "UnionMetadata\\Facade\\Windows.winmd");

            hashSet.Add(item);
            string[] platform = UWPReferences.GetPlatform(text, text2);
            for (int i = 0; i < platform.Length; i++)
            {
                string item2 = platform[i];
                hashSet.Add(item2);
            }
            UWPReferences.UWPExtension[] extensions = UWPReferences.GetExtensions(text, text2);
            for (int j = 0; j < extensions.Length; j++)
            {
                UWPReferences.UWPExtension uWPExtension = extensions[j];
                string[] references = uWPExtension.References;
                for (int k = 0; k < references.Length; k++)
                {
                    string item3 = references[k];
                    hashSet.Add(item3);
                }
            }
            return(hashSet.ToArray <string>());
        }
示例#7
0
        public static string[] GetReferences()
        {
            string  folder;
            Version version1;

            UWPReferences.GetWindowsKit10(out folder, out version1);
            string version2 = version1.ToString();

            if (version1.Minor == -1)
            {
                version2 += ".0";
            }
            if (version1.Build == -1)
            {
                version2 += ".0";
            }
            if (version1.Revision == -1)
            {
                version2 += ".0";
            }
            HashSet <string> source = new HashSet <string>((IEqualityComparer <string>)StringComparer.InvariantCultureIgnoreCase);

            source.Add(Path.Combine(folder, "UnionMetadata\\Facade\\Windows.winmd"));
            foreach (string str in UWPReferences.GetPlatform(folder, version2))
            {
                source.Add(str);
            }
            foreach (UWPReferences.UWPExtension extension in UWPReferences.GetExtensions(folder, version2))
            {
                foreach (string reference in extension.References)
                {
                    source.Add(reference);
                }
            }
            return(source.ToArray <string>());
        }