.net - 从 VB6.0 升级的最佳开发工具

标签 .net vb6 vb6-migration

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

2年前关闭。




Improve this question




我计划将大型 vb6 应用程序升级到 .net。该项目使用了许多第三方组件,例如 VSFlexGrid 以及 Crystal 报表。它还使用源代码不可用的旧 VB6 dll。我的问题是

  • 我应该将源代码转换为 C# 还是 VB.net 足够健壮?对于不受支持或使用不安全/过时技术的第三方组件,我该怎么办?

  • 我欢迎任何以前做过这件事的人提供任何有用的意见。

    最佳答案

    这是对 couple 的改编我的 answers到类似的问题。

    自动转换是比重写更好的选择。这是一个常见的陷阱,一开始就乐观地重写大型软件,在修复旧架构中的一些众所周知的缺陷方面取得良好的早期进展,然后陷入多年来一直认为理所当然的功能中.在这一点上,你的管理开始变得紧张,一切都会变得非常不舒服。

    ...这里是 Microsofty 的博客文章 agrees with me :

    Many companies I worked with in the early days of .NET looked first at rewriting driven in part by a strong desire to improve the underlying architecture and code structures at the same time as they moved to .NET. Unfortunately many of those projects ran into difficulty and several were never completed. The problem they were trying to solve was too large



    这个优秀的微软page推荐两个第三方迁移工具比(不再是 available )内置的 VB.NET 升级向导更好 - Artinsoft和代码架构师 VBMigration .我相信他们对常见的第三方控件和 DLL 有一些支持 - Artinsoft 支持 these .与他们联系并提供您的依赖项列表是值得的。 VBMigration 有一个 free tool出于这个原因,它将列出依赖项。也值得联系原始供应商,以期获得 .NET 等价物。

    微软页面还说:

    Performing a complete rewrite to .NET is far more costly and difficult to do well [than converting] ... we would only recommend this approach for a small number of situations.



    Stack Overflow 上的 C# 开发人员比 VB.NET 开发人员多得多,因此您可能会得到几个推荐 C# 的答案。此外,从历史上看,Microsoft 倾向于在 .NET 等新部分的代码示例方面更加热情地支持 C#。但微软现在做 assure我们认为:

    Both [C# and VB.NET] are first-class programming languages that are based on the Microsoft .NET Framework, and they are equally powerful.



    因此,选择 C# 还是 VB.NET 是个人决定。 Artinsoft 工具声称它可以将 VB6 转换为 C#。

    编辑:我刚刚找到了另一个产品 - NewCode - 通过编程网站上的广告!

    我的快速判断是该网站不像我上面写的两个竞争对手那样详细。那可能是不公平的。微软爱尔兰的一些人 blogged关于他们 - 我认为他们的总部设在爱尔兰。显然,该工具将您的 VB6 转换为 DSL,然后转换为 VB.NET Winforms、C#、WPF、Java...

    关于.net - 从 VB6.0 升级的最佳开发工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/638152/

    相关文章:

    c# - 迁移到.Net时如何避免从头开始重写VB6

    c# - 通过 SSL 发送请求时无法发布文件数据

    c# - 如何在 EF-Code-First 中指定主键名称

    vba - 有什么方法可以在 vb 或 vba 中对齐消息框中的文本吗?

    vb6 - VB 6查看代码中的高级查找方法

    c# - 如何指示 DbConnection.GetSchema 返回其值的顺序?

    vb6-migration - VB5 到 VB6 的迁移

    c# - 在 C# 中处理粘贴事件

    c# - 其他环境下的类库中未加载语言资源文件

    vb.net - 更改 C :\Windows\system32\to a shared drive 中现有 VBA 引用的位置