我有一个VB6 Forms应用程序,想要转换为.Net Core WinForms。 我知道有转换工具可以提出这种说法。 但是,我正在寻找这方面的建议或第一手经验。
手动可能是最好的,但如果您正在寻找自动路线,我建议您
- VB6 to VB.NET WinForms (.NET Framework(
- VB.NET to C# (.NET Framework(
- 升级到 .NET Core
我对#1,VB6到 VB.NET 没有任何经验。
对于#2,请查看此项目 https://github.com/icsharpcode/CodeConverter。 效果很好。
对于#3,Microsoft有一个尝试转换项目,用于将.NET Framework项目升级到.NET Core。它对我来说完美无缺。https://github.com/dotnet/try-convert
我刚刚将一个大小不错的应用程序从 VB6 转换为 C#。对我来说最大的挑战是第三方控制。大多数工具无法管理这些控件,因为大多数旧控件要么已停产,要么界面差异很大,以至于使用工具毫无意义。
我最终只是首先使用现代控件重新创建所有窗体。然后,我将把旧的 VB6 代码粘贴到有意义的地方,并通过将逻辑转换为 C# 来工作。在某些情况下,我确实将文件打印到纸上并通读并键入 C# 代码。
我想利用 .net 编程模型,所以我重写了很多内容并改进了代码的功能和可读性。
我使用过工具,虽然它们确实有帮助,但我并不觉得它真的为我节省了很多时间。我的"蛮力"方法帮助我更好地理解了应用程序,并帮助我更轻松地对错误和错误进行分类。
根据我的经验,手动执行此操作是值得的。如果你想做一份合适的工作,真的没有捷径。