public static IConfigurationSourceRoot RegisterConfiguration([NotNull] this Startup startup, [NotNull] string toolsDirectory, [NotNull] string projectDirectory, ConfigurationOptions options) { var configuration = new Microsoft.Framework.ConfigurationModel.Configuration(); configuration.Add(new MemoryConfigurationSource()); configuration.Set(Constants.Configuration.ToolsDirectory, toolsDirectory); configuration.Set(Constants.Configuration.ProjectDirectory, projectDirectory); configuration.Set(Constants.Configuration.SystemConfigFileName, "scconfig.json"); var configurationService = new ConfigurationService(configuration); if ((options & ConfigurationOptions.DoNotLoadConfig) != ConfigurationOptions.DoNotLoadConfig) { try { configurationService.Load(options); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); return null; } } return configuration; }
public void AddCommandLineTest() { var configuration = new Microsoft.Framework.ConfigurationModel.Configuration(); configuration.Add(new MemoryConfigurationSource()); var configurationService = new ConfigurationService(configuration); IEnumerable<string> args = new List<string>() { "build", "/param1=1", "/param2=2 2", "/param3", "3", "posarg1", "--switch1", "true", "/param4", "4 4" }; configurationService.AddCommandLine(configuration, args); Assert.AreEqual("build", configuration.Get("arg0")); Assert.AreEqual("posarg1", configuration.Get("arg1")); Assert.AreEqual("1", configuration.Get("param1")); Assert.AreEqual("2 2", configuration.Get("param2")); Assert.AreEqual("3", configuration.Get("param3")); Assert.AreEqual("4 4", configuration.Get("param4")); Assert.AreEqual("true", configuration.Get("switch1")); }