What is side-by-side execution?
As the name suggests, side-by-side execution refers to the ability to run two or more applications side by side, i.e. the ability to run multiple versions of an application or component on the same computer. If there are multiple versions of the common language runtime, and/or multiple versions of applications and components that use a version of the runtime, they can be run on the same computer at the same time.
Side-by-side execution has certain benefits, such as the fact that it uses strong-named assemblies, which are used to bind type information to a specific version of an assembly. It also utilizes version-aware code storage in the global assembly cache. Additionally, it allows one to create applications and components that execute in isolation, which is an essential component of side-by-side execution.
However, it should be noted that while there is the ability to create side-by-side applications, side-by-side execution is not automatic.