将现有的基于 Vb6.0 win 的应用程序转换为基于 ac# win 的最快方法是什么?
6 回答
核心语言是如此不同,我不得不说从头开始,只复制复杂的代码位。如果您从头开始,您将不必处理所有 VB6 问题,同时利用所有 C# 功能。
VB6 没有真正的类或 OOP,这与 C# 非常不同。此外,对事件管理器( SubClassing)的控制很少。
因此,从零开始,复制 UI 布局,并首先考虑如何在 C# 中实现它,它会让你的生活更轻松。
我认为最快的方法是将其转换为 VB.net。检查以下问题以获得此答案
ans 然后将其转换为 c#。但我觉得手动转换将是更好的选择,因为您可以重新设计应用程序并可能使其更简单。
将代码从 Visual Basic 6 转换为 C# 最好使用自动迁移工具来完成,例如ArtinSoft的Visual Basic Upgrade Companion,它支持迁移到 C#。除了我使用该工具的经验之外,这个建议有几个原因。
首先,即使您从 VB6 迁移到 VB.NET,VB.NET 中的一些特定于语言的功能也不会直接转换为 C#。因此,即使您使用的是 VB.NET 到 C# 的转换器,您也必须处理这些特殊情况(或找到为您处理它们的工具)。这些可以包括可选参数、AddressOf 函数、Visual Basic 编译器辅助操作,如 Information.Err(),以及使用 Try / Catch 语句的非结构化错误处理到结构化错误处理。要考虑的另一件事是 VB.NET 编译器仅限于显示 100 个编译错误,并且在迁移时编译错误可能很常见。当迁移到 C# 时,编译器和其他代码分析工具(如 ReSharper)可以让您更好地了解未来的挑战,并帮助您检测常见的编译错误模式。
其次,通过直接迁移到目标语言,您可以从一开始就专注于使用该语言可用的功能,而无需中间步骤。否则,当您本可以只专注于一个迁移时,您基本上最终会进行两次迁移。
第三,正如 renick 所说,尽管迁移工具可以产生成百上千的问题,但其中大多数都有相对简单的解决方案。其中一些可以使用查找和替换功能修复。商业解决方案具有额外的优势,即它们支持将第三方 UI 控件迁移到 .NET 等效项。
此外,迁移可能比重写快得多,您仍然需要编写代码,但仅限于存在问题的区域。
当然,有些应用程序不能选择迁移,但对于那些适合迁移用例的应用程序,它是切换平台的一种非常有效的方法。你不应该立即打折这个选项。
完全重写。MS 有一些迁移帮助,但我相信它只是 VB.Net。但是为什么要看移植呢,你现在最好重写应用程序,如果你有任何需要保持活力的遗留部分,只需进行互操作。并且只迁移最好的位。以此为契机,真正改进应用程序。
如果你需要它很快;然后不要用手摇动它 - 你会错过一些东西并撕掉你的头发!
几年前我研究了这个产品,我觉得这个产品是最好的。它从 VB6 转换为 C#。他们也有免费试用。
试试 ArtInSoft。该公司会将您的 VB 6 代码直接迁移到 C#。