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

2023-09-03 00:36:09 作者:fireworks 湮灭

林规划升级大VB6应用到.NET。该项目采用许多第三方组件如VSFlexGrid以及水晶报表。它还使用旧VB6的dll文件的源$ C ​​$ c是不可用。我的问题是

Im planning to upgrade a large vb6 application to .net. The project uses many third party components eg VSFlexGrid as well as crystal reports. It also uses old VB6 dlls whose source code is unavailable. My questions are

如果我的源转换为C#或VB.net足够强大?我该怎么办关于不支持的第三方组件,或使用的技术是不安全/过时了怎么办?

我会欢迎任何人谁曾这样做过任何有用的投入。

I would welcome any useful input from anybody who has done this before.

推荐答案

下面是一个couple我的answers到类似的问题。

Here is an adaptation of a couple of my answers to similar questions.

自动转换是不是重写一个更好的选择。这是一个常见的​​问题开出乐观重写一大块软件,使良好的早期进步修复一些老建筑众所周知的缺陷,然后获得在你刚刚被理所当然多年的功能越陷越深。此时,您的管理开始变得颠簸,一切都可以变得非常不舒服。

Converting automatically is a better choice than rewriting. It's a common pitfall to start out optimistically rewriting a large piece software, make good early progress fixing some of the well-known flaws in the old architecture, and then get bogged down in the functionality that you've just been taking for granted for years. At this point your management begin to get twitchy and everything can get very uncomfortable.

...这是一个Microsofty了的同意:

...and here's a blog post by a Microsofty that agrees with me:

许多公司我在.NET的早期曾与第一次看在重写的强烈愿望,以改善底层架构和code结构的同时,他们搬到了.NET推动。不幸的是许多这些项目遇到了困难,一些从未完成。他们试图要解决的问题是太大

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

这出色的微软页面推荐两种第三方的迁移工具好过(不再可用)内置的VB.NET升级向导 - < A HREF =htt​​p://www.artinsoft.com/visual-basic-upgrade-companion-vs-upgrade-wizard.aspx相对=nofollow> Artinsoft 和codeArchitects的 VBMigration 。我相信他们有共同的第三方控件和DLL一些支持 - Artinsoft询问服务这些。这将是值得你依赖的名单与他们联系。 VBMigration有免费工具,将列出的依赖关系因为这个原因。另外值得一接触原厂商在.NET等价的希望。

This excellent Microsoft page recommends two third party migration tools as better than the (no longer available) built-in VB.NET upgrade wizard - Artinsoft and CodeArchitects VBMigration. I believe they have some support for common third-party controls and DLLs - Artinsoft suport these. It would be worth contacting them with a list of your dependencies. VBMigration has a free tool that will list the dependencies for just this reason. Also worth contacting the original vendors in the hope of a .NET equivalent.

微软页面还表示:

执行一个完全重写的。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.

有更多的C#开发人员不是VB.NET开发人员对堆栈溢出,所以你可能会得到一些答案,建议C#。历史上也微软倾向于更积极支持对.NET的新部件等code例子来讲C#。但微软现在所做的保证给我们的是:

There are many more C# developers than VB.NET developers on Stack Overflow, so you will probably get several answers recommending C#. Also historically Microsoft has tended to support C# more enthusiastically in terms of code examples for new parts of .NET and so on. But Microsoft does now assure us that:

这两个[C#和VB.NET]是基于Microsoft .NET Framework的一流编程语言,它们都同样强大。

vb6.0官方下载win10版 VB6.0下载win10版下载 9553下载

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#。

So it's a personal decision whether you want to choose C# or VB.NET. The Artinsoft tool claims it can convert VB6 to C#.

编辑:我刚刚找到另一种产品 - 新的code - 通过广告在节目的网站!

I just found another offering - NewCode - through an ad on a programming website!

我的管理单元的判断是,该网站是不是尽可能详细,这两个竞争对手,我写了上面。这可能是不公平的。有些人在微软爱尔兰博客有关他们 - 我认为他们的总部设在爱尔兰。显然,该工具的VB6转换为DSL,然后到VB.NET的WinForms,C#,WPF,Java的...

My snap judgement is that the website isn't as detailed as the two competitors I've written about above. That may be unfair. Some guy at Microsoft Ireland blogged about them - I think they are based in Ireland. Apparently the tool converts your VB6 to a DSL and then to VB.NET Winforms, C#, WPF, Java...