.net – Will .NET Framework 4 replace all its previous versions

net

When Installing .NET Framework 4 in the near future, I would like to know if this product will replace all the previous .net frameworks that I have installed (i.e. 1.1, 2.0, 3, 3.5).

If yes, could I uninstall all of them?

Best Answer

No, they can exist alongside eachother. Just like with previous versions. In fact, 4.0 uses completely different directories to store its assemblies in.

Uninstalling will prevent you from using older programs. It is however possible to run 2.0+ software using the 4.0 runtime, with some extra configuration in the application config file. This is not guaranteed to work however, because there are some subtle changes that might break some (arguably badly coded) software.

Update: There is an additional attribute that affects this (useLegacyV2RuntimeActivationPolicy), although I'm not entirely certain what it does. It was taken from a presentation by Bart de Smet, which I didn't have access to at the time of the original posting:

<!-- Compiled for 2.0; run against 4.0 -->
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy=“true”>
    <supportedRuntime version=“v2.0.50727”/>
    <supportedRuntime version=“v4.0”/>
  </startup>
</configuration>