Like lots of other .NET developers out there I love to use Microsoft's Enterprise Library. In fact, I use Enterprise Library professionally all the time - wherever and whenever I can to be honest. My only problem is that I haven't been able to use it at all for any of my CODEGATOR projects. The reason is that I have a self-imposed rule that I wont directly tie CODEGATOR projects to any kind of 3rd party library. I don't want to end up with a bunch of projects that require my readers to surf all over the Internet looking for obscure libraries before they can compile anything.
My dilemma is that I want some Enterprise Library functionality in various CODEGATOR libraries but I don't want to be forced to duplicate Microsoft's coding efforts myself. (Microsoft undoubtedly did a better job than I would.)
So, I was adding some new manager classes to my CG.Manager library this week and I came up with what I believe is a good compromise. I've used my manager/provider classes to create some of the Enterprise Library like services that I am looking for. For instance, the ErrorManager class from my last post is there, along with other managers for caching and logging.
So where does Enterprise Library fit into this? Well, I grouped all my Enterprise Library specific provider implementations together into a library I named CG.Manager.EnterpriseLibrary. I put the file into the download section. If you currently use any CODEGATOR libraries and want to integrate your code with Enterprise Library then you should check this new download out. (Also grab the latest CG.Manager as well.)
If you don't want to use Enterprise Library then don't worry, you'll only need CG.Manager.EnterpriseLibrary if you specifically configure one or more managers in CG.Manager to use a provider from that library. I created simple default provider implementations for everything in CG.Manager - so all the managers work without requiring EnterpriseLibrary.
See, dilemma solved without breaking any of my self-imposed rules. 
Man, .NET rocks! 
See ya!