包装MFC本机代码以在托管代码中使用

时间:2014-06-13 15:40:49

标签: .net dll mfc unmanaged managed

我有一个旧的MFC代码,我想从我的托管C#WPF .Net应用程序调用。为了包装本机代码,我发现我可以选择使用1)P / Invoke 2)C ++ / CLI或3)COM。

但我有另一个担忧。我读到你必须构建MFC扩展DLL,只要它包含从MFC派生的类。此外,此DLL的调用端必须是MFC环境,我认为这意味着此DLL在我的托管代码中不可用。

在我的应用程序中,我有从基本MFC类派生的类。我使用文档视图架构,我的Doc,View,MainFrame,App类派生自MFC类。这是否意味着除了构建MFC扩展DLL之外别无选择,并且无法在托管应用程序中使用此DLL。 有什么建议如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

为什么不将MFC代码封装在MFC ActiveX项目中并使用互操作性从托管代码应用程序中调用它?对我来说似乎是最简单的解决方案。