[xbuild] Fix bug #674337.
authorAnkit Jain <radical@corewars.org>
Wed, 23 Feb 2011 15:56:28 +0000 (21:26 +0530)
committerAnkit Jain <radical@corewars.org>
Wed, 23 Feb 2011 15:58:10 +0000 (21:28 +0530)
Use appropriate path separator for handling environment variable
MSBuildExtensionsPath.

mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Import.cs

index 9088babcfecf8444dc178ef46234374432af271f..951f4f46fd4337a72e955a824116781cec190a8f 100644 (file)
@@ -44,6 +44,7 @@ namespace Microsoft.Build.BuildEngine {
                static string DotConfigExtensionsPath = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData),
                                                                Path.Combine ("xbuild", "tasks"));
                const string MacOSXExternalXBuildDir = "/Library/Frameworks/Mono.framework/External/xbuild";
+               static string PathSeparatorAsString = Path.PathSeparator.ToString ();
        
                internal Import (XmlElement importElement, Project project, ImportedProject originalProject)
                {
@@ -119,14 +120,14 @@ namespace Microsoft.Build.BuildEngine {
                        // project.
 
                        string envvar = Environment.GetEnvironmentVariable (property_name);
-                       envvar = String.Join (":", new string [] {
+                       envvar = String.Join (PathSeparatorAsString, new string [] {
                                                (envvar ?? String.Empty),
                                                // For mac osx, look in the 'External' dir on macosx,
                                                // see bug #663180
                                                MSBuildUtils.RunningOnMac ? MacOSXExternalXBuildDir : String.Empty,
                                                DotConfigExtensionsPath});
 
-                       string [] paths = envvar.Split (new char [] {':'}, StringSplitOptions.RemoveEmptyEntries);
+                       string [] paths = envvar.Split (new char [] {Path.PathSeparator}, StringSplitOptions.RemoveEmptyEntries);
                        foreach (string path in paths) {
                                if (!Directory.Exists (path)) {
                                        project.ParentEngine.LogMessage (MessageImportance.Low, "Extension path '{0}' not found, ignoring.", path);