I really don\'t get it.
If the base class is abstract and only intended to be used to provide common functionality to public subclasses defined in the assembly, why
I think this would violate the Liskov Substitution Principle.
In cases like this, I have used internal classes and prefer composition over inheritance. Is there anything about your design that prohibits containing all such functionality in your internal class, and then have your public classes contain an instance of this internal class?