启用useLegacyV2RuntimeActivationPolicy会产生什么影响?

Ree*_*sey 19 .net .net-4.0 clr4.0

对于我当前的项目,我们使用了一些基于CLR 2的混合模式程序集.

为了在.NET 4目标程序集中使用这些,我知道你必须添加useLegacyV2RuntimeActivationPolicy=true<startup>app.config中元素.

据我所知,这会更改激活策略,导致使用CLR支持的最高版本加载这些混合模式程序集.

但是,这样做会有副作用吗?启用非默认激活策略时,我应该注意哪些潜在问题?

小智 12

Hans Passant部分正确.我试图在这篇博客文章中解释这个神秘的属性:http://www.marklio.com/marklio/PermaLink,guid,ecc34c3c-be44-4422-86b7-900900e451f9.aspx

这种影响基本上是你用pre-v4运行时锁定进程内SxS.这在迁移方案中通常是可接受的.


Han*_*ant 4

嗯,当然,您将使用从未经过测试的 CLR 版本来运行该应用程序。微软在保持向后兼容方面做得很好。但 Microsoft 经理在 .NET 升级后几天无法访问电子邮件的案例是众所周知的。线程池计时略有不同,暴露了实习生编写的程序中的线程竞争。现在无法通过谷歌搜索该链接。