Shim is a generic term for any piece of code, usually in a DLL, that acts as an intermediary between two incompatible systems.  A typical use for a shim is to make an unmanaged DLL usable to a .NET program.  It would present a managed class interface to the .NET project and translate managed method calls to native method calls, marshaling the method arguments as needed.
The shim on .NET is the mscoree.dll and is the responsible to assign you the correct .NET version when you host the CLR.

Leave a Comment

Your email address will not be published. Required fields are marked *