Starting with Windows XP, multiple versions of side-by-side assemblies can be used by applications running at the same time. Manifests, and the assembly version number, are used by the loader to determine the correct binding of assembly versions to applications.
...
When an application calls to load the DLL, the side-by-side manager determines whether the application has a version dependence described in a manifest. If there is no relevant manifest, the system loads the default version of the assembly.
-- [link|http://msdn2.microsoft.com/en-us/library/aa376307.aspx|http://msdn2.microso...ary/aa376307.aspx]