The Register<TService, TImpementation>() method allows you to specify a concrete type (TImplementation) that will be created by Simple Injector when the specified service (TService) is requested. The specified implementation Repository<SequoiaEntities, Portal> however is marked as abstract. This disallows Simple Injector from creating it; abstract classes can not be created. The CLR does not permit this.

You do have a concrete type PortalRepository however, and I believe it is your goal to return that type. Your configuration should therefore look as follows:

container.Register<IRepository<Portal>, PortalRepository>();

Alternatively, you can make use of Simple Injector's batch-registration facilities and register all your repositories in one call: