I'm working on upgrading a big project to .NET 2.0. It has gone smoothly so far, with one exception: configuration. This is probably mostly because I had build all the configuration on EntLib 1.1. One of the goals for EntLib is to show best practices on the platform. With version 2.0 of .NET, the configuration have been extended a lot, for example with support for writing. This means that p&p have changed their configuration block and that affects my configuration code a lot. This have taken my a while to get fixed, but that part is finished now. Oh … I also promised to get back if there were any more required code changes to the ExceptionHandlers I've written, and there are one according to configuration (surprise).
The class shall be marked with a ConfigurationElementTypeAttribute and point out which configuration handler (class) should be used. I have chosen to use the CustomHandlerData (included in EntLib 2), even though I don't need any special configuration for my handlers.
[ConfigurationElementTypeAttribute(typeof(CustomHandlerData))]
When the CustomHandlerData is used you will also have to add a constructor that takes a NameValueCollection parameter (which will contain the custom configuration if you have).
I have also upgraded two services so far (one entity service and one activity service) without changing any lines of code. Something that I have changed though is project structures, since that get changed by the upgrade wizard (for web projects). One example of change I've been doing is to move the strong name signing from the AssemblyInfo into the project properties.