您将使用哪种 C# 项目类型来重新开发 MFC C++ activex 控件?
-
09-06-2019 - |
题
查看 VS2008 中的 C# 项目模板,提供的有 WPF 用户控件库、WPF 自定义控件库和 Windows 窗体控件库。如果您想将用 C++ 编写的遗留主动控件转移到 C# 和 .NET 的世界中,您会使用哪一个?
解决方案
听起来你正试图同时做几件不同的事情:
- 将代码迁移到较新版本的 Visual Studio 中进行构建。
- 将您对技术的使用迁移到更新的技术(ActiveX 到 .net)
- 迁移您的语言(c++ 到 c#)。
如果您的代码库较小,您可能最好从头开始,并根据需要将功能移植到新的代码库中。
对于更大的代码库,您需要意识到这在工作量和缺陷率方面都是一项昂贵的任务。
订单可能是:
- 将代码导入到较新版本的 Visual Studio 中。让它编译。检查每个项目的项目设置。
- 重构您的代码以尽可能隔离 mfc 和 activex 代码。遵循良好的重构实践,尤其是在开始之前没有进行很多单元测试的情况下。
- 考虑用 .net 替换您的 ActiveX 层。
- 考虑哪种 GUI 工具包最适合替代 MFC。
- 语言 - 考虑首先转向托管 c++。
- 考虑从托管 C++ 迁移到 C#。
最重要的是能够证明执行上述所有操作的合理性!
不隶属于 StackOverflow