Пример #1
0
        static EditorHelper()
        {
            isJitDebuggerAvailable = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework", "DbgManagedDebugger", null) != null;

            RegistryKey localMachine = null;

            if (Environment.Is64BitOperatingSystem)
            {
                localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
            }
            else
            {
                localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
            }

            RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");

            string[] visualStudioSubKeys = visualStudio != null?visualStudio.GetSubKeyNames() : null;

            vsEdition = VisualStudioEdition.Express;
            // Doesn't work:
            //if (visualStudioSubKeys != null)
            //{
            //    if (visualStudioSubKeys.Contains("8.0"))	vsEdition = VisualStudioEdition.Standard;
            //    if (visualStudioSubKeys.Contains("9.0"))	vsEdition = VisualStudioEdition.Standard;
            //    if (visualStudioSubKeys.Contains("10.0"))	vsEdition = VisualStudioEdition.Standard;
            //    if (visualStudioSubKeys.Contains("11.0"))	vsEdition = VisualStudioEdition.Standard;
            //    if (visualStudioSubKeys.Contains("12.0"))	vsEdition = VisualStudioEdition.Standard;
            //}

            // Doesn't work either:
            //RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");
            //if (visualStudio != null)
            //{
            //    // Determine highest installed visual studio version
            //    RegistryKey visualStudioVersion = null;
            //    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("11.0");
            //    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("10.0");
            //    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("9.0");
            //    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("8.0");

            //    // Determine edition
            //    if (visualStudioVersion != null)
            //    {
            //        RegistryKey visualStudioSetup = visualStudioVersion.OpenSubKey("Setup");
            //        string[] subKeys = (visualStudioSetup != null) ? visualStudioSetup.GetSubKeyNames() : null;
            //        if (subKeys != null)
            //        {
            //            // This won't work
            //            if (subKeys.Any(k => k.Contains("Visual Studio Ultimate"))) vsEdition = VisualStudioEdition.Standard;
            //            if (subKeys.Any(k => k.Contains("Visual Studio Professional"))) vsEdition = VisualStudioEdition.Standard;
            //        }
            //    }
            //}
        }
Пример #2
0
        static EditorHelper()
        {
            isJitDebuggerAvailable = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework", "DbgManagedDebugger", null) != null;

            RegistryKey localMachine = null;
            if (Environment.Is64BitOperatingSystem)	localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
            else									localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);

            RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");
            string[] visualStudioSubKeys = visualStudio != null ? visualStudio.GetSubKeyNames() : null;

            vsEdition = VisualStudioEdition.Express;
        }
Пример #3
0
		static EditorHelper()
		{
			isJitDebuggerAvailable = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework", "DbgManagedDebugger", null) != null;
			
			RegistryKey localMachine = null;
			if (Environment.Is64BitOperatingSystem)	localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
			else									localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);

			RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");
			string[] visualStudioSubKeys = visualStudio != null ? visualStudio.GetSubKeyNames() : null;

			vsEdition = VisualStudioEdition.Express;
			// Doesn't work:
			//if (visualStudioSubKeys != null)
			//{
			//    if (visualStudioSubKeys.Contains("8.0"))	vsEdition = VisualStudioEdition.Standard;
			//    if (visualStudioSubKeys.Contains("9.0"))	vsEdition = VisualStudioEdition.Standard;
			//    if (visualStudioSubKeys.Contains("10.0"))	vsEdition = VisualStudioEdition.Standard;
			//    if (visualStudioSubKeys.Contains("11.0"))	vsEdition = VisualStudioEdition.Standard;
			//    if (visualStudioSubKeys.Contains("12.0"))	vsEdition = VisualStudioEdition.Standard;
			//}

			// Doesn't work either:
			//RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");
			//if (visualStudio != null)
			//{
			//    // Determine highest installed visual studio version
			//    RegistryKey visualStudioVersion = null;
			//    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("11.0");
			//    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("10.0");
			//    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("9.0");
			//    if (visualStudioVersion == null) visualStudioVersion = visualStudio.OpenSubKey("8.0");

			//    // Determine edition
			//    if (visualStudioVersion != null)
			//    {
			//        RegistryKey visualStudioSetup = visualStudioVersion.OpenSubKey("Setup");
			//        string[] subKeys = (visualStudioSetup != null) ? visualStudioSetup.GetSubKeyNames() : null;
			//        if (subKeys != null)
			//        {
			//            // This won't work
			//            if (subKeys.Any(k => k.Contains("Visual Studio Ultimate"))) vsEdition = VisualStudioEdition.Standard;
			//            if (subKeys.Any(k => k.Contains("Visual Studio Professional"))) vsEdition = VisualStudioEdition.Standard;
			//        }
			//    }
			//}
		}
Пример #4
0
        private static Instance GetFromVs2017Instance(
            MSBuildVersion version,
            MSBuildPlatform platform,
            VisualStudioEdition edition,
            SpecialFolders specialFolder)
        {
            var versionDirectoryName = version.ToString().TrimStart("VS");
            var basePath             = Path.Combine(
                EnvironmentInfo.SpecialFolder(specialFolder).NotNull(),
                $@"Microsoft Visual Studio\{versionDirectoryName}\{edition}\MSBuild\{GetVersionFolder(version)}\Bin");

            return(new Instance(
                       version,
                       platform,
                       platform == MSBuildPlatform.x64
                    ? Path.Combine(basePath, "amd64")
                    : basePath));
        }
Пример #5
0
        static EditorHelper()
        {
            isJitDebuggerAvailable = Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NetFramework", "DbgManagedDebugger", null) != null;

            RegistryKey localMachine = null;

            if (Environment.Is64BitOperatingSystem)
            {
                localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
            }
            else
            {
                localMachine = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
            }

            RegistryKey visualStudio = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\VisualStudio");

            string[] visualStudioSubKeys = visualStudio != null?visualStudio.GetSubKeyNames() : null;

            vsEdition = VisualStudioEdition.Express;
        }
 static string ToEditionString(this VisualStudioEdition edition)
 {
     return(Enum.GetName(typeof(VisualStudioEdition), edition));
 }