diff --git a/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs b/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs index 7b6b2d484..c596fed86 100644 --- a/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs +++ b/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs @@ -110,14 +110,14 @@ public Dictionary ToResolverCache () return new Dictionary(cache); } - public virtual AssemblyDefinition Load (string fileName) + public virtual AssemblyDefinition Load (string fileName, bool forceLoad = false) { if (!File.Exists (fileName)) return null; - AssemblyDefinition assembly; + AssemblyDefinition assembly = null; var name = Path.GetFileNameWithoutExtension (fileName); - if (cache.TryGetValue (name, out assembly)) + if (!forceLoad && cache.TryGetValue (name, out assembly)) return assembly; try { @@ -125,7 +125,7 @@ public virtual AssemblyDefinition Load (string fileName) } catch (Exception e) { Diagnostic.Error (9, e, "Error while loading assembly: {0}", fileName); } - cache.Add (name, assembly); + cache [name] = assembly; return assembly; }