我找不到这个确切问题的答案,但有相关问题.
我们有编译为使用.NET 4的BIG WinForms应用程序.但是,我们调用的几个DLL和所有第三方控件都被编译为使用.NET 2.显然这有效,但是因为这有任何负面的性能问题方案,如果一切都使用.NET 4,它会更快.
我不是在尝试进行微优化,但如果我能通过重新编译我拥有的源代码来获得微小/小的提升,那么我愿意付出努力,如果有收获的话.
从理论上讲,不应对绩效产生任何重大影响.
.Net Framework的兼容性目标是,以前版本的应用程序和组件应该能够在.Net Framework 4上顺利运行...
当.NET 4.0应用程序加载.NET 2.0程序集时,它将使用兼容模式功能加载到4.0运行时,该功能有助于防止破坏:
In-Proc SxS无法解决库开发人员面临的兼容性问题.由应用程序直接加载的任何库(通过直接引用或Assembly.Load)将继续直接加载到加载它的应用程序的运行时和AppDomain中.这意味着如果重新编译应用程序以针对.NET Framework 4运行时运行,并且仍然具有针对.NET 2.0构建的依赖程序集,那么这些依赖项也将加载到.NET 4运行时.因此,我们仍然建议您针对您希望支持的框架的所有版本测试您的库.这是我们继续保持高水平向后兼容性的原因之一.