我想从执行此操作的开发人员那里得到非常具体的答案,并想知道你们是如何解决所面临的问题的。
我们有非常大的 MFC (VC6) 32 位应用程序已经存在 10 年了。现在我们想将它迁移到 .NET 非托管 64 位应用程序。这里我们有一些问题,我们的 UI 不应该改变,我们可能需要一些托管的 .NET 类以便于开发,在不影响体系结构的情况下如何使用非托管代码添加托管代码,许多 win32 API 可能会更改为新的 API,应该在XP, Vista, Windows 7 操作系统机器没有任何变化,这些事件应该不会耗费时间,新技术分析应该作为我们 MFC 程序员...
请分享您的经验,如果您有任何清晰的文档将非常有帮助...
注意: 为了清楚的理解,我再次重新措辞一些要点。我们想将我们的 VC6 native 代码 32 位应用程序迁移到具有 64 位支持的 VS2008(或 VS2010) native 代码(非托管 C++)。主要要求是现有 UI 不应有任何更改。另外,如果.NET 支持托管代码和非托管代码的组合,我们可以尝试在非托管C++ 环境中使用一些功能,如.NET remoting。我想向所有人传达的另一件重要的事情是,我们不会使用 C# 或从头开始编写任何代码。
最佳答案
我们已经完成了这些步骤(VC6 -> VS2005 -> VS2008 ->(很快)VS2010),大多数问题都与 API 的变化有关。
发出大量警告消息的不安全字符串操作(strcpy 与 strcpy_s)(如果您不想全部修复它们,请使用 _CRT_SECURE_NO_WARNINGS 预处理器定义删除它们)
更改了消息处理程序的原型(prototype)(返回 LRESULT、更改了 WPARAM 和 LPARAM,...)
已弃用的 API(您很快就会发现它们,我认为 msdn 上有一个关于此的页面)
对于标准 C++,编译器可能会更严格一些。
很难去具体...
但请查看此博客条目以获取更多信息:http://insidercoding.com/post/2008/08/20/Migrating-from-VC6-to-VC9.aspx
祝你好运。 最大。
关于c# - 将 MFC (VC6) 应用程序迁移到 .NET 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3353421/