private static Assembly GetAssembly(string assemblyName) { Debug.Assert(!String.IsNullOrEmpty(assemblyName)); string[] parts = assemblyName.Split(','); if ((parts.Length != 1) && (parts.Length != 4)) { Throw404(); } AssemblyName realName = new AssemblyName(); realName.Name = parts[0]; if (parts.Length == 4) { realName.Version = new Version(parts[1]); string cultureString = parts[2]; realName.CultureInfo = (cultureString.Length > 0) ? new CultureInfo(cultureString) : CultureInfo.InvariantCulture; realName.SetPublicKeyToken(HexParser.Parse(parts[3])); } Assembly assembly = null; try { assembly = Assembly.Load(realName); } catch (FileNotFoundException fnf) { Throw404(fnf); } catch (FileLoadException fl) { Throw404(fl); } catch (BadImageFormatException badImage) { Throw404(badImage); } return(assembly); }