对于使用 Visual Studio 6 用 C++ 编写的大型应用程序,进入现代时代的最佳方式是什么?
我想采用增量方法,我们慢慢地移动部分代码并将新功能编写到 C# 中,然后将其编译成可以从遗留应用程序引用的库或 dll。
这是可能的,最好的方法是什么?
编辑 :在这一点上,我们仅限于 Express 版本,我认为这些版本不允许使用我们当前应用程序中大量使用的 MFC 库。它也是一个相当大的应用程序,具有很多硬件依赖性,因此我认为不会进行大规模迁移。
编辑 2 :我们已经研究过用 C# 编写 COM 包装的组件,但没有 COM 经验,这既可怕又复杂。是否可以生成一个带有直接 C 接口(interface)的 C# dll,其中隐藏了所有托管的优点?还是 COM 是必要的邪恶?
最佳答案
面对同样的任务,我的策略是这样的:
混合 MFC UI 和 c# UI 可能无法实现,也不建议这样做,因为它会产生两种不同风格(1990 年代灰色和 2010 氛围)的 UI 混合。专注于实现增量迁移更简单,例如在 C# 中实现新的应用程序代码并从 native C++ 代码调用它。这使得迁移的 c# 代码量很小。随着您对 2010 开发的深入了解,您可以采用无法增量迁移的较大块,例如 UI。
关于c# - Visual Studio 6 中 C++ 项目的推荐迁移策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958694/