I'm working on a C# app that makes use of interop to interact with several of our DLLs that export C-linkage functions. Because our product consists of more than one executable, I moved all the interop code and many shared classes into a C# class library, and reference it in the C# executable projects.
I'm considering breaking this monolithic C# class library up into a few, more granular class libraries for a few reasons, including:
My question is about the factors to consider before deciding whether to stay with a single class library, or break things up into smaller, more independent libraries. For example, is the per-library overhead in (runtime) resource footprint or loading time significant enough to affect the decision?
[1]: If they have a broken driver install, for example.