| File: FrameworkFork\Microsoft.CodeDom\Compiler\RedistVersionInfo.cs | Web Access |
| Project: src\src\dotnet-svcutil\lib\src\dotnet-svcutil-lib.csproj (dotnet-svcutil-lib) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. namespace Microsoft.CodeDom.Compiler { using System; using System.Diagnostics; using System.IO; using Microsoft.CodeDom.Compiler; using System.Collections.Generic; using Microsoft.Win32; // The default compiler is the one corresponding to the current-running version of the runtime. // Customers can choose to use a different one by setting a provider option. internal static class RedistVersionInfo { // Version identifier added for Dev10. Takes the full path, doesn't depend on registry key internal const String DirectoryPath = "CompilerDirectoryPath"; // location // Version identifier added for Orcas. Depends on registry key. internal const String NameTag = "CompilerVersion"; // name of the tag for specifying the version internal const String DefaultVersion = InPlaceVersion; // should match one of the versions below internal const String InPlaceVersion = "v4.0"; // Default internal const String RedistVersion = "v3.5"; // May change with servicing internal const String RedistVersion20 = "v2.0"; private const string MSBuildToolsPath = "MSBuildToolsPath"; private const string dotNetFrameworkRegistryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\"; public static string GetCompilerPath(IDictionary<string, string> provOptions, string compilerExecutable) { throw new NotImplementedException(); } /// this method returns the location of the Orcas compilers, but will return whatever /// version is requested via the COMPlus_ environment variables first private static string GetCompilerPathFromRegistry(String versionVal) { string dir = null; // if this is running in a private running environment such as Razzle, we would use the path // based on the environment variables: COMPLUS_InstallRoot and COMPLUS_Version. string comPlus_InstallRoot = Environment.GetEnvironmentVariable("COMPLUS_InstallRoot"); string comPlus_Version = Environment.GetEnvironmentVariable("COMPLUS_Version"); if (!string.IsNullOrEmpty(comPlus_InstallRoot) && !string.IsNullOrEmpty(comPlus_Version)) { dir = Path.Combine(comPlus_InstallRoot, comPlus_Version); if (Directory.Exists(dir)) return dir; } String versionWithoutV = versionVal.Substring(1); String registryPath = dotNetFrameworkRegistryPath + versionWithoutV; if (dir != null && Directory.Exists(dir)) { return dir; } return null; } } }