I have a .NET 3.5 web app (built with VS2008) that I am trying to port to a .NET4.0 web app (built with VS2010). It contains mostly pure managed C# assemblies, but it also contains a mixed mode C++ assembly. It is not currently an option to port the code to target .NET4, so I would like to run all the 3.5 asssemblies in the 4.0 process. When it's spinning up the app I am getting an error loading the CRT...the exact error (with a debug build) is "Unable to find assembly 'msvcm90d, Version=9.0.30729.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'." I have verified that that assembly is present on my machine and it does find it and load it successfully when running under the v2.0 CLR. Both the managed and native manifests for the assembly appear to be identical when compiling under VS2008 vs VS2010, so I'm not sure why the v4.0 loader can not load the CRT.
I have added the startup config option in the config file like so, but it makes no difference:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
</startup>