7

Previously, with .NET Core 2.2, I could add UseUrls to my Program.cs file to set the URL that the web server would run on:

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .UseUrls("http://localhost:5100");

However, in .NET Core 3.1, the default format of Program.cs changed:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });

I tried adding UseUrls to this in the same manner as I did with .NET Core 2.2, but it says that:

'IHostBuilder' does not contain a definition for 'UseUrls' and the best extension method overload 'HostingAbstractionsWebHostBuilderExtensions.UseUrls(IWebHostBuilder, params string[])' requires a receiver of type 'IWebHostBuilder'

How can I set the URL for the server to run on using .NET Core 3.1 (which uses IHostBuilder instead of IWebHostBuilder)?

Merlin04
  • 567
  • 6
  • 20

1 Answers1

15

The method ConfigureWebHostDefaults allows you to configure the web host. One of the thing you can do is change the urls: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/generic-host?view=aspnetcore-3.1#urls

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
                webBuilder.UseUrls("http://localhost:5100");
            });
JG in SD
  • 4,858
  • 3
  • 28
  • 43
meziantou
  • 17,920
  • 7
  • 50
  • 68