internal virtual Assembly AddAssemblyByName (string name, ILocation location)
{
if (anames == null)
anames = new Hashtable ();
if (anames.Contains (name)) {
object o = anames [name];
if (o is string)
o = anames [o];
return (Assembly) o;
}
Assembly assembly = LoadAssemblyFromBin (name);
if (assembly != null) {
AddAssembly (assembly, true);
return assembly;
}
Exception ex = null;
try {
assembly = Assembly.LoadWithPartialName (name);
} catch (Exception e) {
ex = e;
assembly = null;
}
if (assembly == null)
throw new ParseException (location, String.Format ("Assembly '{0}' not found", name), ex);
AddAssembly (assembly, true);
return assembly;
}