From a198ae39cc26ebb86b6c4c1032c1f520eb6d5ba4 Mon Sep 17 00:00:00 2001 From: Troy Dai Date: Tue, 13 Oct 2015 15:01:16 -0700 Subject: [PATCH] Split the DNX_HOME environment variable when it is a semi-colon separated list --- .../Program.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/Microsoft.AspNet.Server.Kestrel.LibuvCopier/Program.cs b/tools/Microsoft.AspNet.Server.Kestrel.LibuvCopier/Program.cs index db3dc207d8..9d9c1f3280 100644 --- a/tools/Microsoft.AspNet.Server.Kestrel.LibuvCopier/Program.cs +++ b/tools/Microsoft.AspNet.Server.Kestrel.LibuvCopier/Program.cs @@ -25,10 +25,19 @@ namespace Microsoft.AspNet.Server.Kestrel.LibuvCopier { var dnxFolder = Environment.GetEnvironmentVariable("DNX_HOME"); - if (string.IsNullOrEmpty(dnxFolder)) + var firstCandidate = dnxFolder?.Split(';') + ?.Select(path => Environment.ExpandEnvironmentVariables(path)) + ?.Where(path => Directory.Exists(path)) + ?.FirstOrDefault(); + + if (string.IsNullOrEmpty(firstCandidate)) { dnxFolder = Path.Combine(GetHome(), ".dnx"); } + else + { + dnxFolder = firstCandidate; + } packagesFolder = Path.Combine(dnxFolder, "packages"); } @@ -50,7 +59,7 @@ namespace Microsoft.AspNet.Server.Kestrel.LibuvCopier } } } - catch(Exception ex) + catch (Exception ex) { Console.WriteLine(ex); throw;