Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is an adaptation of a <a href="https://stackoverflow.com/questions/395/how-to-switch-a-large-app-from-vb6-to-vb-net/82200#82200">couple</a> of my <a href="https://stackoverflow.com/questions/507291/should-we-select-vb-net-or-c-when-upgrading-our-legacy-apps/508823#508823">answers</a> to similar questions. </p> <p>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. </p> <p>...and here's a blog post by a Microsofty that <a href="http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace.aspx" rel="nofollow noreferrer">agrees with me</a>:</p> <blockquote> <p>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</p> </blockquote> <p>This excellent Microsoft <a href="http://msdn.microsoft.com/en-gb/dd408373.aspx" rel="nofollow noreferrer">page</a> recommends two third party migration tools as better than the (no longer <a href="http://msdn.microsoft.com/en-us/vstudio/ms788233.aspx" rel="nofollow noreferrer">available</a>) built-in VB.NET upgrade wizard - <a href="http://www.artinsoft.com/visual-basic-upgrade-companion-vs-upgrade-wizard.aspx" rel="nofollow noreferrer">Artinsoft</a> and CodeArchitects <a href="http://www.vbmigration.com/" rel="nofollow noreferrer">VBMigration</a>. I believe they have some support for common third-party controls and DLLs - Artinsoft suport <a href="http://www.artinsoft.com/3rd-party-library-extensibility.aspx" rel="nofollow noreferrer">these</a>. It would be worth contacting them with a list of your dependencies. VBMigration has a <a href="http://www.vbmigration.com/Resources/VB6Analyzer.aspx" rel="nofollow noreferrer">free tool</a> that will list the dependencies for just this reason. Also worth contacting the original vendors in the hope of a .NET equivalent.</p> <p>The Microsoft page also says:</p> <blockquote> <p>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.</p> </blockquote> <p>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 <a href="http://support.microsoft.com/kb/308470" rel="nofollow noreferrer">assure</a> us that:</p> <blockquote> <p>Both [C# and VB.NET] are first-class programming languages that are based on the Microsoft .NET Framework, and they are equally powerful. </p> </blockquote> <p>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#. </p> <hr> <p>EDIT: I just found another offering - <a href="http://www.newcode.com/" rel="nofollow noreferrer">NewCode</a> - through an ad on a programming website!</p> <p>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 <a href="http://blogs.msdn.com/ronang/archive/2008/12/03/microsoft-ireland-podcast-modernising-your-vb6-code-with-newcode.aspx" rel="nofollow noreferrer">blogged</a> 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... </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload