在.net4上使用.net3.5程序集和混合模式dll

时间:2013-07-23 18:28:28

标签: .net .net-4.0 .net-3.5 backwards-compatibility

它在C ++应用程序的上下文中,该应用程序通过混合模式(再次针对的.net3.5)程序集使用.net3.5程序集。本机应用程序显式加载.net程序集。

我主要想知道在.net4上使用.net3.5程序集的影响。我找到了一些建议使用useLegacyV2RuntimeActivationPolicy的链接。还有另一个similar question答案表明它很好,但以下链接让我觉得重新编译目标更好.net4:

“...为版本2.0,3.0和3.5构建的应用程序都可以在3.5版本上运行,但它们无法在版本4或更高版本上运行。” - On MSDN

“某些框架类型已跨版本的程序集移动......” - In an SO answer

“不知道。这取决于应用程序和它使用的API。在.NET 4中有重大变化,这个应用程序可能会遇到一个...” - In an MSDN forum answer

1 个答案:

答案 0 :(得分:1)

  

我主要想知道在.net4上使用.net3.5程序集的影响。

通常,您需要设置运行时激活策略以强制使用.NET 4.这意味着将使用CLR 4运行时而不是CLR 2运行时执行3.5程序集。

对于大多数情况,事情“只是工作”。但是,肯定存在可能存在问题的边缘情况,因为在4.0运行时中存在一些细微的变化(如您所链接的)。

根据我的经验,这些问题非常罕见,而且事情通常都能完美无缺。如果您打算在4.0应用程序中使用它,我会建议对3.5功能进行全面测试,但是,只是为了验证您没有遇到有问题的边缘情况。