No. Web apps compile to a .net dll. The asp.net hosting module create an app domain and loads all the dlls found in the bin folder. Then it uses reflection to find the entry points to call for request processing. The technique used by asp.net host hosting was formalized and became suppported
Originally dotnet was supported like Java, you used a standalone executable to load and host. But windows XP defined the PE format and added support to run clr programs directly, that is the clr host is automatically loaded
When dotnet core was released, they faced the same issue, but decided not to modify the o/s to run core apps directly. The first release created a script file that used dotnet.exe to run the app dll. Later versions a stripped down version of dotnet.exe was copied and named after the exe. Now that all the hosting been moved to a c++ dll, the dotnet .exe generates and compiles a small c++ program to host and run the dll.
As compile to native was required to run .net core on IOS, this feature is being supported in more O/S versions.