diff --git a/ILSpy/Languages/ILLanguage.cs b/ILSpy/Languages/ILLanguage.cs index 243a8bcda..cc4f2ff18 100644 --- a/ILSpy/Languages/ILLanguage.cs +++ b/ILSpy/Languages/ILLanguage.cs @@ -147,17 +147,21 @@ namespace ICSharpCode.ILSpy var module = assembly.GetPEFileOrNull(); var metadata = module.Metadata; var dis = CreateDisassembler(output, options); - dis.AssemblyResolver = module.GetAssemblyResolver(); - if (options.FullDecompilation) - dis.WriteAssemblyReferences(metadata); - if (metadata.IsAssembly) - dis.WriteAssemblyHeader(module); - output.WriteLine(); - dis.WriteModuleHeader(module); - if (options.FullDecompilation) { - output.WriteLine(); + + // don't automatically load additional assemblies when an assembly node is selected in the tree view + using (options.FullDecompilation ? null : LoadedAssembly.DisableAssemblyLoad()) { + dis.AssemblyResolver = module.GetAssemblyResolver(); + if (options.FullDecompilation) + dis.WriteAssemblyReferences(metadata); + if (metadata.IsAssembly) + dis.WriteAssemblyHeader(module); output.WriteLine(); - dis.WriteModuleContents(module); + dis.WriteModuleHeader(module); + if (options.FullDecompilation) { + output.WriteLine(); + output.WriteLine(); + dis.WriteModuleContents(module); + } } } }