Чтобы ответить на мой собственный вопрос, это возможно с небольшой гимнастикой. Можно получить ссылку на CodeDomProvider из AssemblyBuilder, и оттуда вам решать, что вы хотите сделать.
Как то так
public override void GenerateCode(AssemblyBuilder assemblyBuilder)
{
string outputName = VirtualPath.Substring(VirtualPath.LastIndexOf('/') + 1);
outputName = outputName.Substring(0, outputName.LastIndexOf('.'));
_compilationContext = (CompilationContext)HttpContext.Current.Items[outputName];
// var tw = assemblyBuilder.CreateCodeFile(this);
// tw.Write(_compilationContext.Content);
// tw.Flush();
// tw.Close();
//TODO: inject this
var factory = new DirectCompilerServiceFactory();
var compilerService = factory.CreateCompilerService(assemblyBuilder.CodeDomProvider);
compilerService.CompileAssembly(_compilationContext);
}