diff --git a/ILSpy/LoadedAssembly.cs b/ILSpy/LoadedAssembly.cs index f5c0a9e18..427d1171a 100644 --- a/ILSpy/LoadedAssembly.cs +++ b/ILSpy/LoadedAssembly.cs @@ -56,7 +56,6 @@ namespace ICSharpCode.ILSpy this.assemblyTask = Task.Factory.StartNew(LoadAssembly, stream); // requires that this.fileName is set this.shortName = Path.GetFileNameWithoutExtension(fileName); this.resolver = new MyAssemblyResolver(this); - this.universalResolver = new MyUniversalResolver(this); } /// @@ -271,7 +270,7 @@ namespace ICSharpCode.ILSpy } static readonly Dictionary loadingAssemblies = new Dictionary(); - readonly MyUniversalResolver universalResolver; + MyUniversalResolver universalResolver; LoadedAssembly LookupReferencedAssemblyInternal(Decompiler.Metadata.IAssemblyReference fullName, bool isWinRT) { @@ -291,6 +290,10 @@ namespace ICSharpCode.ILSpy } } + if (universalResolver == null) { + universalResolver = new MyUniversalResolver(this); + } + file = universalResolver.FindAssemblyFile(fullName); foreach (LoadedAssembly loaded in assemblyList.GetAssemblies()) {