Actually I understand that IIS Express is lightweight development server. From the other side "dotnet run" runs the application as a console application and binds it to random port.
But what is the actual difference? I can launch big enterprise application by IIS Express
and by "dotnet run"
and both cases work perfectly.
Till now all the difference I see is that IIS Express
adds icon to the taskbar and dotnet run
allows to see console output. But those are minor differences. It should be some global ones why IIS Express is so widespread nowadays.
Some structurization can be found here: ASP.NET Core launch settings: IIS Express, IIS, Project, Executable. But it still doesn't explain the difference.