我有一个.net 4.0项目,其中我想引用.net 2.0程序集。正如我在this文章中所理解的那样,.net 2.0程序集将在4.0运行时加载,并且不能保证向后兼容性。有没有办法在这种情况下并排强制进程并加载2.0运行时?
答案 0 :(得分:2)
正在进行并行版本控制仅支持独立运行而无需共享数据的代码。特别是对于加载CLR以执行托管代码的本机代码。它是CLR版本控制问题的解决方案,一旦像Explorer这样的非托管程序加载CLR,比如支持用.NET编写的shell扩展,那么CLR版本就可以通过扩展所要求的任何版本来选择。如果另一个扩展需要更高版本的CLR,那么效果很差。 .NET 4的并排版本控制功能解决了每个扩展都有自己的CLR。不需要共享数据,这些扩展彼此不了解。
显然,这不是您要做的事情的解决方案。微软做了很多努力,使.NET 4.0与以前的.NET版本尽可能兼容,加载.NET 2.0程序集当然得到很好的支持。在某种程度上,他们确实利用这个机会修复了一些旧的错误,这些错误的修复可能会破坏旧代码。从技术上讲,你的2.0代码可能依赖于这种错误的行为,但不太可能。您只需要重新测试代码。