Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您将使用哪种C#项目类型来重新开发MFC C++;activex控件?_C#_C++_Visual Studio_Code Migration - Fatal编程技术网

您将使用哪种C#项目类型来重新开发MFC C++;activex控件?

您将使用哪种C#项目类型来重新开发MFC C++;activex控件?,c#,c++,visual-studio,code-migration,C#,C++,Visual Studio,Code Migration,查看VS2008中的C#项目模板,其中包括WPF用户控件库、WPF自定义控件库和Windows窗体控件库。如果你想把C++中的遗留主动控件移动到C语言和.NET? < p>的世界,你会使用哪一个?您不妨阅读并开始使用USER控件。您必须考虑将宿主控件的目标应用程序。如果它是一个业务线应用程序,我认为WPF与表单相比没有太大的优势。然而,根据博客条目,作者认为杀手级WPF是一个LOB应用程序,它利用WPF提供的图形化能力进行数据可视化 最后,我想这是一个成本/收益分析。您是否遵循WPF路线,为图形

查看VS2008中的C#项目模板,其中包括WPF用户控件库、WPF自定义控件库和Windows窗体控件库。如果你想把C++中的遗留主动控件移动到C语言和.NET?

< p>的世界,你会使用哪一个?您不妨阅读并开始使用USER控件。

您必须考虑将宿主控件的目标应用程序。如果它是一个业务线应用程序,我认为WPF与表单相比没有太大的优势。然而,根据博客条目,作者认为杀手级WPF是一个LOB应用程序,它利用WPF提供的图形化能力进行数据可视化


最后,我想这是一个成本/收益分析。您是否遵循WPF路线,为图形数据可视化的未来利益而支付学习曲线的成本,还是坚持使用久经考验的方法,冒着开发过时应用程序的风险。

听起来您试图同时做几件不同的事情:

  • 将代码迁移到较新版本的visual studio中的建筑中
  • 将您对技术的使用迁移到较新的技术(ActiveX到.net)
  • 迁移您的语言(c++到c#)
  • 如果您有一个小的代码库,那么您最好从头开始,根据需要将功能移植到新的代码库中

    对于更大的代码库,您需要意识到这在工作量和缺陷率方面都是一项昂贵的任务

    命令可以是:

  • 将代码导入到较新版本的visual studio中。让它编译。查看每个项目的项目设置
  • 重构代码以尽可能地隔离mfc和activex代码。遵循良好的重构实践,尤其是在开始之前没有很多单元测试的情况下
  • 考虑将ActiveX层替换为.net
  • 考虑哪种GUI工具包最适合替换MFC
  • 语言-考虑首先移动到托管C++。
  • 考虑从托管C++到C语言的迁移。
  • 最重要的是,你必须能够证明做上述所有事情是正确的