You can use the assembly through the following mechanism.
Assembly myAssembly = Assembly.Load(<your raw file stream>);
You can register for the following event and handle the same thing to serve the requested types coming from your custom assemblies:
AppDomain.CurrentDomain.TypeResolve += new ResolveEventHandler(CurrentDomain_TypeResolve);
static Assembly CurrentDomain_TypeResolve(object sender, ResolveEventArgs args)
{
Type resolvedType = myAssembly.GetType( args.Name, false);
}
Unfortunately, any type loaded into your program will end here, so you may need to create a caching mechanism to store type information