根据微软的文档,false是“useLegacyV2RuntimeActivationPolicy”配置的默认值:
http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
使用 .NET Framework 4 及更高版本的默认激活策略,即允许旧运行时激活技术将 CLR 版本 1.1 或 2.0 加载到进程中。设置此值可防止混合模式程序集加载到 .NET Framework 4 或更高版本中,除非它们是使用 .NET Framework 4 或更高版本构建的。此值[false]是默认值。
桌面应用程序以及自动或手动添加到项目中的任何配置文件似乎就是这种情况。默认情况下它没有设置为true也是有道理的,因为微软试图保持 .Net 4.0 无影响
引用: http: //www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx)。
我希望这同样适用于 Web 应用程序,但似乎并非如此。web.config 看起来像预期的那样,但 aspnet.config 文件(即位于 Microsoft.NET 目录中的全局设置文件)实际上将此值设置为true。
有谁知道这个决定背后的理由?也就是说,决定阻止 ASP.Net 的进程内 SxS。
我非常感谢对此的任何见解。(特别是在最后一天把我的头撞到墙上之后。)