Esempio n. 1
0
        private static IDictionary <string, string> PopulateKnownFrameworks()
        {
            var frameworks = new Dictionary <string, string>(StringComparer.OrdinalIgnoreCase)
            {
                { "NET", NetFrameworkIdentifier },
                { ".NET", NetFrameworkIdentifier },
                { "NETFramework", NetFrameworkIdentifier },
                { ".NETFramework", NetFrameworkIdentifier },
                { "NETCore", NetCoreFrameworkIdentifier },
                { ".NETCore", NetCoreFrameworkIdentifier },
                { "WinRT", NetCoreFrameworkIdentifier },     // 'WinRT' is now deprecated. Use 'Windows' or 'win' instead.
                { ".NETMicroFramework", ".NETMicroFramework" },
                { "netmf", ".NETMicroFramework" },
                { "SL", "Silverlight" },
                { "Silverlight", "Silverlight" },
                { ".NETPortable", PortableFrameworkIdentifier },
                { "NETPortable", PortableFrameworkIdentifier },
                { "portable", PortableFrameworkIdentifier },
                { "wp", "WindowsPhone" },
                { "WindowsPhone", "WindowsPhone" },
                { "Windows", "Windows" },
                { "win", "Windows" },
                { "MonoAndroid", "MonoAndroid" },
                { "MonoTouch", "MonoTouch" },
                { "MonoMac", "MonoMac" },
                { "native", "native" }
            };

            foreach (var frameworkDirectory in FrameworkReferenceResolver.GetFrameworkDirectories())
            {
                if (Directory.Exists(frameworkDirectory))
                {
                    var di = new DirectoryInfo(frameworkDirectory);

                    foreach (var d in di.EnumerateDirectories())
                    {
                        frameworks[d.Name] = d.Name;
                    }
                }
            }

            return(frameworks);
        }