Assembly GetAssemblyByName (string name, bool throwOnMissing)
{
if (assemblyCache == null)
assemblyCache = new Dictionary <string, Assembly> ();
if (assemblyCache.ContainsKey (name))
return assemblyCache [name];
Assembly assembly = null;
Exception error = null;
if (name.IndexOf (',') != -1) {
try {
assembly = Assembly.Load (name);
} catch (Exception e) { error = e; }
}
if (assembly == null) {
try {
assembly = Assembly.LoadWithPartialName (name);
} catch (Exception e) { error = e; }
}
if (assembly == null)
if (throwOnMissing)
throw new HttpException ("Assembly " + name + " not found", error);
else
return null;
assemblyCache.Add (name, assembly);
return assembly;
}
}