Versioning Hell
There have been voices talking about the lack of updates to the .NET Framework and Visual Studio, especially since we learnt that the next versions won't be released before 2005. Microsoft did not release fixes while some well known problems exist. If you don't know the "Help | Check for Updates" command in Visual Studio, it's not worth looking for it, you won't find updates there. All we got was the .NET Framework 1.1 and Visual Studio 7.1.
I may have an idea why there is no lighter and interim updates: maybe it's not easy or even possible to release updates!
How did I come to that conclusion?
Let's take the following situation with one assembly referencing another:
Not trying to compete with Rory here ;-)
If you want to update Ass1, and have Ass2 use that updated assembly, you have to update Ass2. This is because each assembly references the other ones using their name and their version. If you don't update Ass2, it will continue to use Ass1 version 1.0, the version it has been built with.
If you take that to the Framework level, it's all a bowl of spaghetti with dependencies everywhere. Don't forget also that applications, components and Visual Studio are also part of this Italian delicacy and tied to it as well.
Releasing a fix to one assembly requires releasing new versions of all the assemblies referencing it. If you touch a part of the framework, you need to review the whole of it. This is not bad, this is even a good thing in fact. This ensures that the framework is consistent. But it is understandable that Microsoft cannot release multiple version of the framework. We all know how difficult it is to get a new version of the framework (like any other software, especially from some companies) to be validated by administrators. Imagine what a mess it would be if there were versions 1.2 and 1.3 in addition to versions 1.0 and 1.1... You would also have to update your application so they benefit from the new versions.
Do I miss something? What solution do you see to that problem?
Trying to get rid of the DLL Hell, are we locked in an Assembly Versioning Hell?