From b8b9788b033e67a0ee0db99ba1381bc04bfee3c5 Mon Sep 17 00:00:00 2001 From: Shargon Date: Thu, 30 Apr 2020 19:45:21 +0200 Subject: [PATCH 1/2] Use config from current dir --- src/neo/Utility.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/neo/Utility.cs b/src/neo/Utility.cs index 984422512e..8a5e7c0e46 100644 --- a/src/neo/Utility.cs +++ b/src/neo/Utility.cs @@ -1,6 +1,7 @@ using Microsoft.Extensions.Configuration; using Neo.Plugins; using System; +using System.IO; namespace Neo { @@ -16,7 +17,7 @@ public static IConfigurationRoot LoadConfig(string config) var env = Environment.GetEnvironmentVariable("NEO_NETWORK"); var configFile = string.IsNullOrWhiteSpace(env) ? $"{config}.json" : $"{config}.{env}.json"; return new ConfigurationBuilder() - .AddJsonFile(configFile, true) + .AddJsonFile(Path.Combine(Environment.CurrentDirectory, configFile), true) .Build(); } From d9ade09de6ee071a97c9aea7a2a27bcb993ba13a Mon Sep 17 00:00:00 2001 From: Shargon Date: Mon, 11 May 2020 16:21:23 +0200 Subject: [PATCH 2/2] Search in multiple places --- src/neo/Utility.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/neo/Utility.cs b/src/neo/Utility.cs index ff218cbb01..61b6c6a71e 100644 --- a/src/neo/Utility.cs +++ b/src/neo/Utility.cs @@ -4,6 +4,7 @@ using Neo.Plugins; using System; using System.IO; +using System.Reflection; namespace Neo { @@ -27,8 +28,27 @@ public static IConfigurationRoot LoadConfig(string config) { var env = Environment.GetEnvironmentVariable("NEO_NETWORK"); var configFile = string.IsNullOrWhiteSpace(env) ? $"{config}.json" : $"{config}.{env}.json"; + + // Working directory + var file = Path.Combine(Environment.CurrentDirectory, configFile); + if (!File.Exists(file)) + { + // EntryPoint folder + file = Path.Combine(Assembly.GetEntryAssembly().Location, configFile); + if (!File.Exists(file)) + { + // neo.dll folder + file = Path.Combine(Assembly.GetExecutingAssembly().Location, configFile); + if (!File.Exists(file)) + { + // default config + return new ConfigurationBuilder().Build(); + } + } + } + return new ConfigurationBuilder() - .AddJsonFile(Path.Combine(Environment.CurrentDirectory, configFile), true) + .AddJsonFile(file, true) .Build(); }