在“托管C++”应用程序中使用MFC P>我理解,您希望保留MFC/CojJokes GUI,并允许使用应用程序C++代码中的.NET库。 这确实是可能的,但是对于一个当前编译为本地C++的完整应用程序来说,将所有这些转换为编译时可能不是一个好主意。是一个很好的模因,但并不总是有效:-

在“托管C++”应用程序中使用MFC P>我理解,您希望保留MFC/CojJokes GUI,并允许使用应用程序C++代码中的.NET库。 这确实是可能的,但是对于一个当前编译为本地C++的完整应用程序来说,将所有这些转换为编译时可能不是一个好主意。是一个很好的模因,但并不总是有效:-,mfc,c++-cli,managed-c++,Mfc,C++ Cli,Managed C++,有人问我是否可以将应用程序移植到.NET,这样就可以使用C库和其他.NET功能。我知道有一种叫做C++ .net的东西,或者也许我理解它正确,现在应该被称为托管C++。但我对它了解不多 我的问题是:这有可能吗?我们可以运行MFC应用程序作为托管C++吗?使用CODEJOK的应用程序可以作为托管C++应用程序运行吗?关于这一点还有其他一些线索,但我还没有找到一个明确的答案 如果你能给我一些好的建议,我将不胜感激-> P>我理解,您希望保留MFC/CojJokes GUI,并允许使用应用程序C++代

有人问我是否可以将应用程序移植到.NET,这样就可以使用C库和其他.NET功能。我知道有一种叫做C++ .net的东西,或者也许我理解它正确,现在应该被称为托管C++。但我对它了解不多

我的问题是:这有可能吗?我们可以运行MFC应用程序作为托管C++吗?使用CODEJOK的应用程序可以作为托管C++应用程序运行吗?关于这一点还有其他一些线索,但我还没有找到一个明确的答案


如果你能给我一些好的建议,我将不胜感激-

> P>我理解,您希望保留MFC/CojJokes GUI,并允许使用应用程序C++代码中的.NET库。

这确实是可能的,但是对于一个当前编译为本地C++的完整应用程序来说,将所有这些转换为编译时可能不是一个好主意。是一个很好的模因,但并不总是有效:-

我们有同样的情况,即需要调用.NET程序集的C++/MFC/Codejock应用程序。这基本上没有问题:

我们有C++ + CLI模块,它们为本地C++代码提供一个本地C++ + DLL接口,调用这些代码,然后将这些调用路由到C中编写的程序集。 我们还有C++/CLI程序集,这些程序集为C代码提供.NET接口,然后回调到纯本机模块中。
还应该可以有一个本机编译的单一(比如)exe项目,并且您只为需要托管互操作的选定cpp文件启用/clr开关。最后你把一切联系在一起。因为我们从来没有这样混合过,所以我真的不能对这种方法说什么。但我可以肯定的是,可以将模块上的部件编译为/clr,将部件编译为本机

> P>我理解,您希望保留MFC/CojJokes GUI,并允许使用应用程序C++代码中的.NET库。

这确实是可能的,但是对于一个当前编译为本地C++的完整应用程序来说,将所有这些转换为编译时可能不是一个好主意。是一个很好的模因,但并不总是有效:-

我们有同样的情况,即需要调用.NET程序集的C++/MFC/Codejock应用程序。这基本上没有问题:

我们有C++ + CLI模块,它们为本地C++代码提供一个本地C++ + DLL接口,调用这些代码,然后将这些调用路由到C中编写的程序集。 我们还有C++/CLI程序集,这些程序集为C代码提供.NET接口,然后回调到纯本机模块中。
还应该可以有一个本机编译的单一(比如)exe项目,并且您只为需要托管互操作的选定cpp文件启用/clr开关。最后你把一切联系在一起。因为我们从来没有这样混合过,所以我真的不能对这种方法说什么。但我可以肯定的是,可以将模块上的部件编译为/clr,将部件编译为本机

几年前,我遇到了一个类似的问题,并发现除非是琐碎的案例,否则从非托管侧转换到托管侧或反向侧确实是痛苦的。最后,我将这两个世界各自放在一边,只需使用interop就可以实现COM与.NET的兼容性


不是很好,但是便宜多了。结论是,我们应该等待一个重大的演变来考虑一个完整的改写。

< P>我几年前也遇到过类似的问题,并且发现除非从琐碎的案例中转换从未管理到管理或反向的方面才是真正痛苦的。最后,我将这两个世界各自放在一边,只需使用interop就可以实现COM与.NET的兼容性


不是很好,但是便宜多了。结论是,我们应该等待一个大的进化来考虑一个完整的改写。

可能的副本,我认为这是一个好的开始,但它不是一个复制品,因为在那里他没有MFC GUI,并且你清楚地问如何将.NET素材集成到MFC GUI应用程序中。你是在问这个吗?也许你应该重新考虑将标题从MFC/Codejock应用程序重命名为使用.NET库。我认为这是一个很好的开始,但它不是重复的,因为在那里他没有MFC GUI,而你显然是在问如何将.NET内容集成到MFC GUI应用程序中。你是在问这个问题吗?也许你应该重新考虑将标题从MFC/Codejock应用程序重命名为使用.NET库。我可以确认这一点,我们有一个大型MFC应用程序,其中只有特定的源代码使用托管代码,只有这些源代码标有/CLR。感谢提供大量信息!:-嗯,管理层对.NET的需求有点夸张。。。研究这个问题的一个原因是,正如您所说的,能够使用.NET库。正如我所看到的
从链接来看,这不会是一个问题。但他们的愿望清单上还有其他东西:1使用.NETGUI组件。在.NET中有更多的选择。2他们正在考虑将MFC/Codejock全部替换为.NET。我们有另一个运行.NET的应用程序,他们认为在客户计算机上只维护一个环境会很好。你的对此有何看法?1是否可能?Microsoft或第三方的.NET GUI组件是否会在MFC框架中运行?第二部分需要重写。还是我错了?在我看来,没有太多理由在C++/CLI中这样做;最好对C进行完整的端口连接。是的,您可以在MFC应用程序中使用.NET GUI组件。就我所知,将它们混合在一起并非易事,但在我所熟悉的代码领域并非如此。将MFC/Codejock全部替换为.NET——这本质上是对应用程序GUI部分的完全重写。除非是非常小的应用程序,否则无法想象有人会提出这样的商业案例。YMMV。我可以确认这一点,我们有一个大型MFC应用程序,其中只有使用托管代码的特定源代码,只有这些源代码标有/CLR。感谢提供大量信息!:-嗯,管理层对.NET的需求有点夸张。。。研究这个问题的一个原因是,正如您所说的,能够使用.NET库。正如我从链接中看到的,这不会是一个问题。但他们的愿望清单上还有其他东西:1使用.NETGUI组件。在.NET中有更多的选择。2他们正在考虑将MFC/Codejock全部替换为.NET。我们有另一个运行.NET的应用程序,他们认为在客户计算机上只维护一个环境会很好。你的对此有何看法?1是否可能?Microsoft或第三方的.NET GUI组件是否会在MFC框架中运行?第二部分需要重写。还是我错了?在我看来,没有太多理由在C++/CLI中这样做;最好对C进行完整的端口连接。是的,您可以在MFC应用程序中使用.NET GUI组件。就我所知,将它们混合在一起并非易事,但在我所熟悉的代码领域并非如此。将MFC/Codejock全部替换为.NET——这本质上是对应用程序GUI部分的完全重写。除非是非常小的应用程序,否则无法想象有人会提出这样的商业案例。YMMV.编写C++/CLI互操作程序集相当轻松,而且几乎是微不足道的。它允许您为本机代码提供托管接口,反之亦然。建议为任一方向编写单独的互操作程序集,但也可以使用单个程序集。混合模式程序集既有本机导出,也有应用程序可以链接到的托管导出。编写C++/CLI互操作程序集相当轻松,而且几乎不费吹灰之力。它允许您为本机代码提供托管接口,反之亦然。建议为任一方向编写单独的互操作程序集,但也可以使用单个程序集。混合模式程序集具有应用程序可以链接到的本机导出和托管导出。