I'm running three versions of the .NET Framework concurrently. All I can say is "ouch".

Its not that I expect to have no issues, and its not that the issues aren't documented (like ASP.NET configuration changes for IIS servers), or easily researched. Its just more painful than it seems like it should have to be. I'm thinking two to three years ahead, and wondering what the landscape will look like. By that time we'll probably have four releases of a .NET Framework, with live code out there running across all versions of the Framework in many environments. That will not be best practice, but I think its realistic. Also, when software vendors start shipping more software that targets .NET this could be even tougher. While "DLL Hell" may be gone for many, I think "Framework Hell" may be just beginning.