知道微软在C++/MFC和.NET之间提供了很好的互操作性,我认为分阶段迁移代码库是有意义的。我现在遇到的问题是从哪里开始。
一种方法是用WPF取代MFC框架,并尽可能多地重用C++代码。这将让我们最大程度地利用WPF架构,但意味着开发周期会很长,直到我们完全恢复正常为止。
另一种方法是逐个用WPF替换MFC控件。这将使我们能够逐步工作。我的担忧是这种方法意味着托管代码和非托管代码之间将有很多连接点,而且我不确定从何处开始替换类似主菜单和工具栏之类的内容。
还有其他选项吗?
欢迎提出任何建议或关于此主题的信息链接。
更新:DavidK提出了一些很好的问题,因此我添加了这些动机。
1) 产品未来的开发
该产品仍在积极开发中,定期添加新功能。我认为慢慢迁移到C#/WPF是很有意义的。在我有限的C#/WPF经验中,我发现生产率提高比在C++/MFC中工作惊人。
我们使用WPF还能获得利用多屏系统的能力。MFC应用程序局限于一个顶级框架,使得利用多个监视器非常困难。
2) 员工保留和招募
越来越难找到愿意在MFC上工作的开发人员。对于当前开发人员的职业发展来说,接触新技术也非常重要。