Enterprise Library 2.0 Application Compatibility
At Microsoft, we really do care about our customers (you). Last week we got a visit from the Application Compatibility team from the .NET framework. These guys are serious about making sure that any app that you wrote for the .NET framework 1.1, will be forward compatible with 2.0. It seems that on there travels, they ran into a few of you having problems running the January 2005 release of Enterprise Library because some of the things we did (that we fixed in the June 2005 release) are not forward compatible.
What does this mean? Well in short, if you have built your application with the January 2005 release of Enterprise Library and move it forward to run in a .NET 2.0 AppDomain it will fail (I will tell you why later). We realized this and we put out the June 2005 release (now stay with me, this could get a little confusing). The June 2005 served two purposes : 1) to make sure that when you ran your app that was built for the .NET framework 1.1 and moved it (without recompiling etc) to the .NET 2.0 framework, it would run; 2) You could recompile Enterprise Library June 2005 for Whidbey Beta 2 and build a bridge for your apps until you could convert them to Enterprise Library 2.0.
Now you may be asking yourself, “Wait a minute, what do you really mean by ‘build a bridge’?”. Glad you asked. Enterprise Library will not be backwards compatible. Now before everyone gets really mad, read the post made by edjez and it will hopefully make some since.
As edjez so eloquently puts it, we want to give you the best guidance on the platform that we release upon. And like I have said before we are aligning with the .NET 2.0 platform in this release, so we have to do a little bit of movement to do that.
Why does Enterprise Library January 2005 fail?
In .NET 2.0, they have added new attributes to some of the sections in machine.config and new namespaces for web.config. The logic that we did to parse the config files need to be changed. We made this change and others to help get things to run on .NET 2.0. We have spent most of last week and this weekend verifying that everything works on RTM builds (no it is not done, but they have build layouts for RTM).
Here is what we learned from this exercise:
- January 2005 release will not work when hosted in .NET 2.0 (this is because of configuration)
- Enterprise Library will be as backward compatible as possible, but no guarantees
- We are really trying to help you out with each new platform Microsoft delivers
- Microsoft has a kickin’ App Compat team!
- edjez is a much better writer than scott
What is the moral of this story? Get the June 2005 release. This will upgrade you to the newest bits and make sure your migration to Whidbey will be easy.