Is Dot Net "backwards compatible"? RRS feed

  • Question

  • Hi All,

    A developer wrote me this when I asked him to use the dot not that was installed on a particular machine (4.5.1 in this instance):

          "Each version of the .NET Framework has its own rules and code libraries, so applications are written for a specific version of .NET and are not compatible with other versions."

    Is this really the case?  Seems to me, I have used programs that only care if Dot Net is 3.5 or above.  I had previously presumes that Dot Net was fully "backwards compatible".  Am I wrong?

    Many thanks,


    Friday, March 14, 2014 9:22 PM


  • To answer my own question:


    The .NET Framework versions 2.0, 3.0, and 3.5 are built with the same version of the CLR (CLR 2.0). These versions represent successive layers of a single installation. Each version is built incrementally on top of the earlier versions. It is not possible to run versions 2.0, 3.0, and 3.5 side by side on a computer. When you install version 3.5, you get the 2.0 and 3.0 layers automatically, and apps that were built for versions 2.0, 3.0, and 3.5 can all run on version 3.5. However, the .NET Framework 4 ends this layering approach, so apps built for 2.0. 3.0, or 3.5 will not work on version 4 or later. Starting with the .NET Framework 4, you can use in-process side-by-side hosting to run multiple versions of the CLR in a single process.

    • Marked as answer by ToddAndMargo2 Friday, March 14, 2014 10:45 PM
    Friday, March 14, 2014 10:44 PM