+-

我们的应用程序包含约300个组件(dll和几个exe).其中一些针对4.0框架,一些使用2.0框架,一些使用本机C(未管理)编写,一些使用C/C++LI,另外一些则用ManagedExtensions for C编写.
现在,我们的要求是迁移到.NET Framework 4.5.2.
所以我的问题是:
如果我仅将所有exe上的TargetFramework版本更改为4.5.2,而无需更改dll的TargetFramework版本,可以吗?
是否保证我所有的dll都已加载并在4.5.2运行时中运行? (包括所有C dll).
我在互联网上浏览了多篇文章,但是在混合使用C#,托管c和非托管c dll的情况下,我找不到具体的答案.任何帮助表示赞赏.
编辑:我们的团队生成核心库(某种框架)和少量可执行文件(针对2.0框架),其他各种团队可以使用这些可执行文件来满足其客户的特定要求.一些客户尚未从XP迁移(XP中使用的Max .NET框架为4.0).因此,与更新的操作系统一起,我们仍然需要支持使用XP的客户端.
最佳答案
虽然2.0项目通常可以在不更改代码的情况下升级到4.5.x,但是您可能会遇到的.NET版本之间存在巨大的差异.考虑到您的项目的规模和复杂性,我必须建议不要盲目地更改TargetFramework属性,并希望做到最好.
虽然4.0可执行文件可以加载2.0 DLL,但是由于我描述的重大更改,因此不建议这样做.
您将在混合C代码时遇到问题.我建议您首先将“ C的托管扩展”代码升级(或重写)为C/C++LI(在使用时,您可能想利用VS2015中提供的C 11和C 14功能).
我建议分别和分别升级每个项目,逐步解决依赖链.如果您具有(或编写)系统更关键部分的单元测试和集成测试,这将有所帮助.
点击查看更多相关文章
转载注明原文:c#-从.NET Framework 2.0迁移到4.5.2 - 乐贴网