public void AddAssembly(string name)
{
if (_typesAreLoaded) throw new InvalidOperationException("Types have already been loaded, and adding a new assembly will not have any effect.");
Assembly a = Assembly.Load(name);
if (a == null) throw new ArgumentException("The assembly name was not valid");
_assemblies.Add(a);
}