var asms = AppDomain.CurrentDomain.GetAssemblies().Where(x => !x.GlobalAssemblyCache).ToArray();
containerBuilder.RegisterAssemblyTypes(asms).Where(x => typeof(IBaseView).IsAssignableFrom(x))
.PublicOnly()
.AsSelf();
containerBuilder.RegisterAssemblyTypes(asms).Where(x => typeof(IBaseModel).IsAssignableFrom(x))
.PublicOnly()
.As(t => t.GetInterfaces().First(x => x != typeof(IBaseModel) && typeof(IBaseModel).IsAssignableFrom(x)));