今天下午经过一堆阅读,并没有得到任何实实在在的结果。是否可以在仍使用VC6开发的MFC应用程序中托管Windows窗体对话框。
出现的问题是我们有一个大型应用程序从未使用新的Visual Studio进行升级,因为VC6始终有效。现在我们需要在其中添加一些C#功能。我无法执行/ clr选项,因为我们的项目完全由非托管C ++组成。我在所有库/标题中搜索了“CWinFormsControl”并没有提出任何建议。我不确定下一步该尝试什么。
此外,请原谅我正在做研究的任何无知以及对这种深度编程的新认识。
我检查过以下文章:
答案 0 :(得分:2)
CWinFormsControl需要MFC 8.0。
您可以make your managed assembly a COM server(例如ActiveX)在MFC应用程序中使用它,就像任何其他COM服务器一样。
答案 1 :(得分:1)
我没有VC6来试试这个,但我认为它应该是最有可能的;至少对于一个简单的模态ShowDialog()场景。
您将使用C ++ / CLI创建一个新的程序集/ DLL,使用 / clr 标志进行编译。这将使用通常的__declspec(dllexport)
向您现有的MFC代码公开非托管API。该实现将调用您的C#代码,它仍然是另一个程序集。