It took quite a bit of hunting to figure out what happened. As it turned out, the corporate library internally uses partial names for the dynamic type of loading. In this case, the corporate library tries to dynamically load Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter dynamically because it appears in the configuration file.
To bypass partial name references at run time, simply enter the qualifyAssembly element in the configuration file (see the <qualifyAssembly> Element in the MSDN documentation).
In my case, all I had to enter was a record:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <qualifyAssembly partialName="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling" fullName="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </assemblyBinding> </runtime>
source share