C# 忽略Asp.Net Core 2.2 UseURL

C# 忽略Asp.Net Core 2.2 UseURL,c#,asp.net-core,iis,.net-core,kestrel,C#,Asp.net Core,Iis,.net Core,Kestrel,我的Asp.NETCore2.2中有以下代码 public class Program { public static void Main(string[] args) { var urls = new string[] { "https://localhost:3045" }; CreateWebHostBuilder(args, urls).Build().Run(); } public static IWebHostBuil

我的Asp.NETCore2.2中有以下代码

public class Program
{
    public static void Main(string[] args)
    {
        var urls = new string[] { "https://localhost:3045" };
        CreateWebHostBuilder(args, urls).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args, string[] bindingUrls) =>
        WebHost.CreateDefaultBuilder(args)
            .ConfigureServices(services => services.AddAutofac())
            .ConfigureKestrel(opt =>
            {
                opt.AddServerHeader = false;
            })
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseUrls(bindingUrls)
            .UseStartup<Startup>();
}
公共类程序
{
公共静态void Main(字符串[]args)
{
var url=新字符串[]{”https://localhost:3045" };
CreateWebHostBuilder(参数,URL).Build().Run();
}
公共静态IWebHostBuilder CreateWebHostBuilder(字符串[]参数,字符串[]绑定URL)=>
WebHost.CreateDefaultBuilder(args)
.ConfigureServices(服务=>services.AddAutofac())
.ConfigureKestrel(选项=>
{
opt.AddServerHeader=false;
})
.UseContentRoot(目录.GetCurrentDirectory())
.Useii整合()
.useURL(绑定URL)
.UseStartup();
}
然而,当我调试网站时,它是在
https://localhost:44326/
为什么在launchSettings.json中使用 为什么会发生这种情况?

.useURL(bindingURL)
将配置红隼url

dotnet core始终位于Kestrel的
IIS
/
IIS Express
后面作为代理。您得到的url是您的
IIS Express
的配置

可以在项目设置或
launchSettings.json中更改此url


如果您只想在Kestrel用户上运行cli命令
dotnet run
dotnet watch run

是否直接启动IIS express或可执行文件?它是Visual Studio中运行按钮附近的组合框。正在使用IIS Express启动。这不是
https://localhost:44326/
是否在项目属性中设置?如果在版本中而不是在调试中生成项目,它是否正常工作?您可以运行IIS Express或直接运行project-这是visual studio中的一个UI选项,不需要cli命令。