According to Microsoft's documentation, false is the default value for the "useLegacyV2RuntimeActivationPolicy" configuration:
http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
Use the default activation policy for the .NET Framework 4 and later, which is to allow legacy runtime activation techniques to load CLR version 1.1 or 2.0 into the process. Setting this value prevents mixed-mode assemblies from loading into the .NET Framework 4 or later unless they were built with the .NET Framework 4 or later. This value [false] is the default.
This appears to be the case for desktop applications, and any configuration files that are automatically or manually added to a project. It also makes sense that it's not set to true by default, since Microsoft was seeking to keep .Net 4.0 non-impactful
Cite: http://www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx).
I expected this to equally apply to web applications, but it doesn't appear to be the case; the web.config looks as expected, but the aspnet.config file (i.e., the global settings file located in the Microsoft.NET directory) actually sets this value to true.
Does anyone know the rationale behind this decision? That is, the decision to prevent in-process SxS for ASP.Net.
I greatly appreciate any insight into this. (Especially after banging my head against the wall over it, for the last day.)