.net core Visual Studio重写appsettings.json中的URL集
我目前正在处理一个.Net Core WebAPI项目netcore 2.0,我想在appsettings.json文件中定义应用程序运行的URL。然后,我在Program.cs文件中使用以下代码:.net core Visual Studio重写appsettings.json中的URL集,.net-core,asp.net-core-webapi,appsettings,.net Core,Asp.net Core Webapi,Appsettings,我目前正在处理一个.Net Core WebAPI项目netcore 2.0,我想在appsettings.json文件中定义应用程序运行的URL。然后,我在Program.cs文件中使用以下代码: var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json").Build(); var url = conf
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json").Build();
var url = config.GetSection("WebAppSettings").GetValue<string>("Url");
var host = new WebHostBuilder()
.UseUrls(url)
.UseIISIntegration()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((context, configBuilder) =>
{
configBuilder
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
})
.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.SetMinimumLevel(LogLevel.Trace);
})
.UseStartup<Startup>()
.UseNLog()
.Build();
host.Run();
但是,当我运行我的应用程序时,它只能在端口5022上访问。我以前将其设置为此,但后来将其更改为5023。当我查看项目属性并转到调试子菜单时,它将5022声明为端口。我试图删除此属性,但它是必填字段
那么,如何强制Visual Studio使用我在appsettings.json文件中设置的端口而不破坏我的设置呢?IIS Express使用launchSettings.json,它本身是通过您提到的项目属性设置设置的。UseURL仅适用于Visual Studio/IIS Express之外的应用程序。我想没有办法避免这种情况?那么IIS Express将被强制使用我通过UseURL提供的任何URL?
{
"WebAppSettings": {
"Url": "http://localhost:5023"
}
}