It works for me in either order:
var pro = new CSharpCodeProvider();
var assem = pro.CompileAssemblyFromFile(new CompilerParameters(), "path/to/bClass.cs", "path/to/aClass.cs");
// or
var assem = pro.CompileAssemblyFromFile(new CompilerParameters(), "path/to/aClass.cs", "path/to/bClass.cs");
aClass.cs:
public class aClass
{
}
bClass.cs:
public class bClass
{
public aClass FieldName;
}