I am confused after researching here on Stack Overflow and other sites about which .NET assemblies will be loaded when you have more than one version used in your application. For example the main executable assembly is compiled using .NET 4.5. A referenced assembly is complied using .NET 2.0. In this scenario, would both .NET 4.5 and .NET 2.0 assemblies be used when the application runs? Assume there is no unmanaged code.