Assembly loading failure when shadowcopy is enabled on multiple appdomains

There is a known assembly loading race in .Net framework 1.0 and 1.1 when shadow copy is enabled in multiple appdomains.

If your application has multiple appdomains and multiple threads, and those appdomains have the same CachePath, and the same ApplicationName, you may experience assembly loading failure, with hr = 0x800700b7 (ERROR_ALREADY_EXISTS).

To workaround the race, make sure each appdomain has unique ApplicationName.

Note fusion never cleans up the shadow copy cache. It is your responsiblity to clean it up.