Finding External Tools
Dotfuscator uses ildasm and ilasm to process the input assemblies. Ildasm is the MSIL disassembler that ships with the .NET Framework SDK. Ilasm is the MSIL assembler that ships with the .NET Framework Redistributable.
Dotfuscator attempts to match each input assembly with the toolset that ships with the version of the .NET Framework that it was compiled with. So Dotfuscator will use the 1.1 versions of ildasm and ilasm on an assembly compiled on the 1.1 version of the Framework; likewise, it will use the 2.0 tools on an assembly compiled on the 2.0 version of the framework.
If Dotfuscator cannot find the version appropriate toolset for an input assembly, it will use a later version if present. It will never use an older version.
By default, Dotfuscator searches for these external tools using the following algorithm:
- Determine the version of the .NET Framework that the input assembly was compiled on.
- Search the .NET Framework and .NET Framework SDK directories corresponding to the .NET Framework version determined in step 1.
- Search the .NET Framework and .NET Framework SDK directories corresponding to later versions of the .NET Framework determined in the first step.
If Dotfuscator cannot find one or both of these programs, it will issue an error.