.net core Visual Studio重写appsettings.json中的URL集

.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

我目前正在处理一个.Net Core WebAPI项目netcore 2.0,我想在appsettings.json文件中定义应用程序运行的URL。然后,我在Program.cs文件中使用以下代码:

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"
  }
}