Christian,
Just to expand a little on the replies you have gotten.
You have a set of "Base" classes that you use in all your applications. Each application may need some kind of specific alterations to these "base" calsses. The best design for this situation is to create the "base" class library in a shared directory, then immediately subclass every one of the "base" calsses into a class library that is specific to the application and don't use any of the "base" classes directly.
This give you a level of isolation for each application. You can add custom behavior for a specific app, or you can over ride some general change you make to the "base" classes within the scope of one single application.
For example, assume that you have your "Base" library. You buidl two applications, one for a Video store and the other for a Bank. The Bank application ahs a Teller system and an investor system. You might have your classes organized like this;
BASE CLASSES
|
V------------------------------------V
Video Store Classes Bank App Classes
|
V-------------------------------V
Teller System Classes Investor Classes
The Base classes are shared by all applications through subclassing into each application specific class library. Within an application you may even have further subclassing going on like the Bank App above.