1

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

我主要想知道在.net4 上使用.net3.5 程序集的影响。我发现了一些建议使用 useLegacyV2RuntimeActivationPolicy 的链接。还有另一个类似的问题答案表明它很好,但下面的链接让我认为重新编译目标 .net4 更好:

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

“某些框架类型已在版本之间跨程序集移动......” -在一个 SO 答案中

“不知道。这取决于应用程序及其使用的 API。.NET 4 中发生了重大变化,这个应用程序可能会遇到一个......” -在 MSDN 论坛回答中

4

1 回答 1

1

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

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

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

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

于 2013-07-23T18:32:29.827 回答