|
|
|
@ -17,11 +17,11 @@
@@ -17,11 +17,11 @@
|
|
|
|
|
// DEALINGS IN THE SOFTWARE.
|
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
|
using System.Collections.Concurrent; |
|
|
|
|
using System.IO; |
|
|
|
|
using System.Linq; |
|
|
|
|
using System.Threading.Tasks; |
|
|
|
|
using System.Windows.Threading; |
|
|
|
|
|
|
|
|
|
using Mono.Cecil; |
|
|
|
|
|
|
|
|
|
namespace ICSharpCode.ILSpy |
|
|
|
@ -133,6 +133,8 @@ namespace ICSharpCode.ILSpy
@@ -133,6 +133,8 @@ namespace ICSharpCode.ILSpy
|
|
|
|
|
if (!disposed) { |
|
|
|
|
disposed = true; |
|
|
|
|
assemblyLoadDisableCount--; |
|
|
|
|
// clear the lookup cache since we might have stored the lookups failed due to DisableAssemblyLoad()
|
|
|
|
|
MainWindow.Instance.CurrentAssemblyList.assemblyLookupCache.Clear(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -177,6 +179,11 @@ namespace ICSharpCode.ILSpy
@@ -177,6 +179,11 @@ namespace ICSharpCode.ILSpy
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public LoadedAssembly LookupReferencedAssembly(string fullName) |
|
|
|
|
{ |
|
|
|
|
return assemblyList.assemblyLookupCache.GetOrAdd(fullName, LookupReferencedAssemblyInternal); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LoadedAssembly LookupReferencedAssemblyInternal(string fullName) |
|
|
|
|
{ |
|
|
|
|
foreach (LoadedAssembly asm in assemblyList.GetAssemblies()) { |
|
|
|
|
if (asm.AssemblyDefinition != null && fullName.Equals(asm.AssemblyDefinition.FullName, StringComparison.OrdinalIgnoreCase)) |
|
|
|
|