Can .NET 4.0 code interoperate with .NET 2.0 code?
在.NET 2.0程序集中是否存在与.NET 4.0程序集调用代码的兼容性障碍?反之亦然?
更具体地说,在使用基于.NET 2.0的第三方应用程序时,我正在研究对Visual Studio 2010的升级。应用程序可以通过引用我的自定义代码的钩子进行扩展。反之亦然,我的代码将引用应用程序的程序集。
在.NET的CLR,以及.NET组件的CAN 2 4,和使用他们的时间。
如果你想你的.NET应用程序可以加载到2 4组件。NET中,你需要不同的配置信息。通过设置在一个requiredruntime .NET 4负载,和遗留下来的政策,你应该能在《.NET CLR加载使用4 2应用,这将允许您的。NET 4组件的使用。
设置您的app.config文件包括:
1 2 3 4 5 6 | <?xml version="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> </configuration> |
这是说,在这样的情况,我建议只使用VS 2010和靶向.NET 3.5"。NET 4。这是您的CLR编译组件2和完全避免这问题。
NET组件调用.NET 4.0的CAN 2.0组件在没有困难。然而,它是非常不可能的,你将能够调用.NET .NET 2.0和4.0 A组装组装,除非在.NET 4.0没有利用任何新的功能和框架组装重定向你的设置。