1

我有一个 .net 4.0 项目,我想在其中引用 .net 2.0 程序集。正如我从这篇文章中了解到的,.net 2.0 程序集将在 4.0 运行时加载,并且不能保证向后兼容性。有没有办法在这种情况下强制处理并加载 2.0 运行时?

4

1 回答 1

2

进程中并行版本控制仅支持独立运行而无需共享数据的代码。特别是对于加载 CLR 以执行托管代码的本机代码。它是 CLR 版本控制问题的解决方案,一旦像 Explorer 这样的非托管程序加载 CLR,比如支持用 .NET 编写的 shell 扩展,则 CLR 版本由扩展要求的任何版本选择。如果另一个扩展需要更高版本的 CLR,则效果不佳。.NET 4 的并行版本控制功能解决了这个问题,每个扩展都有自己的 CLR。不需要共享数据,这些扩展互不了解。

显然,这不是您想要做的事情的解决方案。Microsoft 做了很多努力来使 .NET 4.0 尽可能与以前的 .NET 版本兼容,并且加载 .NET 2.0 程序集当然得到了很好的支持。在某种程度上,他们确实利用这个机会修复了几个旧错误,这些错误的修复可能会破坏旧代码。从技术上讲,您的 2.0 代码可能依赖于此类错误的行为,但可能性不大。你只需要重新测试你的代码。

于 2012-11-14T12:42:57.247 回答