unlike the old framework, .net core did not update the operating system to directly host .net core applications. the build process creates a small exe (c/c++ app) that can host the .net core application (dll). in early versions this was just a script that used dotnet to run the app, but now its a small exe named after the app. typically deployment is a folder from which you run the exe.
note: with net 6 the build can create a single file exe.
- on windows the publish creates an exe which when run, create a temp folder to extract the self contained files to, then runs the extracted exe. If temp folder already exists, it just runs the exe
- on MacOs (which has support for application bundles) it builds an application bundle that does not require any extraction process.
- on linux I believe it creates a self extracting tar file.