Continuing in the series sharing some of the information in the .NET Framework Standard Library Annotated Reference Vol 1 and .NET Framework Standard Library Annotated Reference Vol 2 with some information on BadImageFormatException.
You have to be careful when you pick a code name for a project as they sometimes leak out into
the final product. “Fusion” (as in the FusionLog property) is a classic example of that. Fusion
is the code name for a set of software lifecyle management infrastructure used in the CLR and
some parts of Windows. Now it is immortalized in this property that returns information about
the fusion probing history.
Some people have recently asked what this refers to—does it refer to a corrupt JPEG or bitmap,
or a corrupt file of any sort? It was meant to refer to an executable or a DLL. The name comes
from the OS loader’s terminology for a portable executable (PE) image. Perhaps in a future
version we’ll add a different exception for general file format corruption.