Skip navigation

Monthly Archives: April 2011

I’m sorry but I really need to rant about this.  The Enterprise Library is the most overengineered piece of garbage I have ever seen.

It’s nice when it works – which it rarely does, unless you do nothing but follow their examples line for line and use only the blocks they provide – but the minute you start trying to elaborate on anything they’ve done, you start seeing exceptions thrown in wierd places.  Even when you have the source code, which is an inevitability if you want to have a prayer of working with this crap, it is so goddamned conviluted that you spend more of your time pressing F12 and hoping to God it leads you somewhere useful than you do actually getting any work done.

I cannot believe what a headache even something simple has been.  All I wanted to do was hook into their configuration utility so that my customers could use it to configure both our application logging, which we do with the logging block, and the other details of our application in a single tool.

Jumping. Jesus. Christ.

3 days later I’ve got the configuration sort of working.  What an oddyssey that has been.  But guess what?  When I try to use the same code that the samples use to actually instantiate objects you’ve configured in your app.config, it throws bullshit exceptions at me that are indecipherable.  Basically, even when I follow their tutorial line by line and change little more than names, it doesn’t work.  And because the product is so arcane and tangled, it’s nearly impossible to figure out what’s actually happening.  How hard is to write some code that reads a block from an app.config which specifies its concrete type and instantiate it?  Apparently that requires several thousand lines of code and at least 40 different classes.  You can’t just instantiate the object.  No, you need to create a “build key” and create a “build strategy” and use a “type injector” and blah blah blah.

Seriously, did Microsoft hire some out of work postdoc CS Ph.D’s to build this thing?  I swear these people don’t actually write enterprise applications for a living.  If they did, they too would choke on this nonsense.

I am sorely regretting going deeper with EntLib.  If I didn’t know that it would be significantly more work to write my own configuration tool and write my own logging system I would ditch this crap in a second.  But I’ve had a very frustrating week.

Stay away from the EntLib.  It will ruin your life.