One of my first tasks at my new job has been to look at integrating the Exception Handling block and Logging block into our .NET Stack. We are also exploring using Unity as the Dependency Injection container.
Things were moving along as I started playing with Unity and the Exception Handling block, but as soon as I tried to simply add logging of the handled Exception – it all blew up in my face. Fortunately others had discovered the problem as well which was traced back to a bug in the CLR which had previously been reported and marked as fixed in .NET 4.0. Now I understand that bugs happen and especially when they are bugs in the underlying platform there is only so much to be done. The Entlib team did provide a code fix that could be applied to the source code and then with a custom compilation of Entlib you could be off and running again. Well sort of – having a custom version of Entlib introduces other problems when you are talking about using the VS config tool to manage Entlib config. When deploying this to 30 developers so they can manage Entlib config on their projects it gets to be problematic as the instructions for getting the built-in config tool involves changing solution properties and copying binaries around are not trivial.
If I were doing something out of the ordinary I would be more willing to pay the price – but I am trying to do the most basic Unity-EntLib integration here. I am disappointed that issues with such a common scenario weren’t caught before release. The p&p teams have obviously invested time to make Unity and EntLib play nicely together (ala the Unity extensions that are available out of the box to enable Entlib to work with Unity) – I would have imagined that acceptance testing of any sort would have caught this. Perhaps the explanation is as simple as the issue repros differently (perhaps JITs differently) on different machines. Here is hoping that when the fix to the binaries that is hopefully in the works comes out that the team will explain how this happened. Based on the principles that p&p espouses I know they value quality highly which makes this even more unusual.
Note: I use this blog to post both Personal and Technical articles. For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss). For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss)