I was facing the below issue when dynamically loading a DLL build using version 2.0 in my application which was running on version 4.0.
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
Adding the following in the Config file fixes it
<configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration>
It looks like the way the runtime loads mixed-mode assemblies has changed. I can't find any details about this change, or why it was done. But the
useLegacyV2RuntimeActivationPolicy attribute reverts back to CLR 2.0 loading.
Hope this helps.