The CLR is implemented as a set of in-process libraries that are loaded with the application, and runs inside the context of the application process. In the following diagram, we have two .NET Core applications running, named App1.exe and App2.exe. Each black box represents the application process address space, where the applications App1.exe and App2.exe are running their own CLR version side by side:
When packaging the .NET Core applications, we can either publish them as framework-dependent deployments (FDDs) or self-contained deployments (SCDs). In FDDs, the published package does not contain the .NET Core runtime, and ...