X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMicrosoft.Build.Utilities%2FMicrosoft.Build.Utilities%2FToolLocationHelper.cs;h=42b7da6f23177cb6f4276d3d487fea0908339828;hb=098e88f3a87205d92516a1fe912b6f84164d0a59;hp=8f040e404ebb8ca8d9673b3865f9690d752dc1c4;hpb=226af94a2345f88d3170823646e1c25a276ba281;p=mono.git diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs index 8f040e404eb..42b7da6f231 100644 --- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs +++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs @@ -61,38 +61,47 @@ namespace Microsoft.Build.Utilities runningOnDotNet = !string.IsNullOrEmpty (windowsPath) && lib_mono_dir.StartsWith (windowsPath); if (Environment.GetEnvironmentVariable ("TESTING_MONO") != null) { - mono_dir = new string [] { - Path.Combine (lib_mono_dir, "net_1_0"), - Path.Combine (lib_mono_dir, "net_2_0"), - Path.Combine (lib_mono_dir, "net_2_0"), - Path.Combine (lib_mono_dir, "net_3_5"), + mono_dir = new string [] { // TargetDotNetFrameworkVersion: + Path.Combine (lib_mono_dir, "net_1_0"), // Version11 + Path.Combine (lib_mono_dir, "net_2_0"), // Version20 + Path.Combine (lib_mono_dir, "net_2_0"), // Version30 + Path.Combine (lib_mono_dir, "net_3_5"), // Version35 // mono's 4.0 is not an actual framework directory with all tools etc // it's simply reference assemblies. So like .NET we consider 4.5 to // be a complete replacement for 4.0. - Path.Combine (lib_mono_dir, "net_4_x"), - Path.Combine (lib_mono_dir, "net_4_x"), - Path.Combine (lib_mono_dir, "net_4_x") + Path.Combine (lib_mono_dir, "net_4_x"), // Version40 + Path.Combine (lib_mono_dir, "net_4_x"), // Version45 + Path.Combine (lib_mono_dir, "net_4_x"), // Version451 + Path.Combine (lib_mono_dir, "net_4_x"), // Version46 + Path.Combine (lib_mono_dir, "net_4_x"), // Version461 + Path.Combine (lib_mono_dir, "net_4_x"), // Version462 }; } else if (runningOnDotNet) { mono_dir = new string [] { - Path.Combine (lib_mono_dir, "v1.0.3705"), - Path.Combine (lib_mono_dir, "v2.0.50727"), - Path.Combine (lib_mono_dir, "v2.0.50727"), - Path.Combine (lib_mono_dir, "v3.5"), - Path.Combine (lib_mono_dir, "v4.0.30319"), - Path.Combine (lib_mono_dir, "v4.0.30319"), - Path.Combine (lib_mono_dir, "v4.0.30319") + Path.Combine (lib_mono_dir, "v1.0.3705"), // Version11 + Path.Combine (lib_mono_dir, "v2.0.50727"), // Version20 + Path.Combine (lib_mono_dir, "v2.0.50727"), // Version30 + Path.Combine (lib_mono_dir, "v3.5"), // Version35 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version40 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version45 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version451 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version46 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version461 + Path.Combine (lib_mono_dir, "v4.0.30319"), // Version462 }; } else { mono_dir = new string [] { - Path.Combine (lib_mono_dir, "1.0"), - Path.Combine (lib_mono_dir, "2.0"), - Path.Combine (lib_mono_dir, "2.0"), - Path.Combine (lib_mono_dir, "3.5"), + Path.Combine (lib_mono_dir, "1.0"), // Version11 + Path.Combine (lib_mono_dir, "2.0"), // Version20 + Path.Combine (lib_mono_dir, "2.0"), // Version30 + Path.Combine (lib_mono_dir, "3.5"), // Version35 // see comment above regarding 4.0/4.5 - Path.Combine (lib_mono_dir, "4.5"), - Path.Combine (lib_mono_dir, "4.5"), - Path.Combine (lib_mono_dir, "4.5"), + Path.Combine (lib_mono_dir, "4.5"), // Version40 + Path.Combine (lib_mono_dir, "4.5"), // Version45 + Path.Combine (lib_mono_dir, "4.5"), // Version451 + Path.Combine (lib_mono_dir, "4.5"), // Version46 + Path.Combine (lib_mono_dir, "4.5"), // Version461 + Path.Combine (lib_mono_dir, "4.5"), // Version462 }; } @@ -142,6 +151,16 @@ namespace Microsoft.Build.Utilities return null; } + public static string GetPathToDotNetFrameworkBinFile (string fileName) + { + string dir = Path.Combine(Directory.GetParent(Directory.GetParent(lib_mono_dir).FullName).FullName, "bin"); + string file = Path.Combine (dir, fileName); + if (File.Exists (file)) + return file; + + return null; + } + public static string GetPathToDotNetFrameworkSdk (TargetDotNetFrameworkVersion version) { return GetPathToDotNetFramework (version);