【发布时间】:2016-12-01 18:16:09
【问题描述】:
我正在尝试将命令行参数传递给Startup 类。按照this 的例子,我修改了我的Program 类,它看起来像这样:
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 包含以下数据:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
因此我注释掉了默认的Startup 类的构造函数。然后我注意到这是分配IConfigurationRoot Configuration 的位置,因此,当我尝试从ConfigureServices 使用它时,它是空的。我正在尝试使用(我认为)在Program 的Main 中构建的配置。我在这里错过了什么?
更新
为了清楚起见:我正在尝试在 Startup 类中使用 args。
【问题讨论】:
-
你到底想在这里完成什么。我觉得我认为您正在尝试做的事情可以使用您的 launchSettings.json 来完成。哪个应该在项目的属性中。
-
我正在尝试在
Startup文件中使用args。
标签: asp.net .net configuration asp.net-core kestrel-http-server