I'm trying to pass command line arguments to Startup
class. Following this example, I modified my Program
class and it looks like this:
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("generalsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables(prefix: "ASPNETCORE_")
.AddCommandLine(args);
var config = builder.Build();
var host = new WebHostBuilder()
.UseUrls("http://*:5000")
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
generalsettings.json
contains following data:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
Therefore I commented out default Startup
class' constructor. Then I noticed that that's where IConfigurationRoot Configuration
is assigned, and therefore, when I'm trying to use it from ConfigureServices
it's null. I'm trying to use (I think) configuration built in Program
's Main
. What am I missing here?
UPDATE
To make it clear: I'm trying to use args
in Startup
class.