0

今天下午看了一大堆,没有得到任何切实的结果。是否可以在仍在使用 VC6 开发的 MFC 应用程序中托管 Windows 窗体对话框。

出现的问题是我们有一个大型应用程序从未使用新的 Visual Studios 进行升级,因为 VC6 始终有效。现在我们需要在其中添加一些 C# 功能。我无法执行 /clr 选项,因为我们的项目完全由非托管 C++ 组成。我在我们所有的库/头文件中搜索了“CWinFormsControl”,但没有找到任何东西。我不确定下一步该尝试什么。

另外,请原谅我在进行研究时的任何无知以及对这种深度编程的新手。

我检查了以下文章:

4

2 回答 2

2

CWinFormsControl 需要 MFC 8.0。

您可以使您的托管程序集成为 COM 服务器(例如 ActiveX),并像任何其他 COM 服务器一样在 MFC 应用程序中使用它。

于 2013-03-01T00:16:42.890 回答
1

我没有 VC6 来尝试这个,但我认为这应该是可能的;至少对于一个简单的模式 ShowDialog() 场景。

您将使用 C++/CLI 创建一个新的程序集/DLL,并使用/clr标志编译。这将使用通常的__declspec(dllexport). 该实现将调用您的 C# 代码,它是另一个程序集。

于 2013-02-28T23:33:01.073 回答