The easiest way is encapsulate all of the VB6 logic into DLLs and then load it up in the .NET project. The platform will migrate your VB6 code into the .NET platform using its built-in COM interoperability features. All you'd have to do is redesign you GUI and use the interop libraries generated to access your application logic. For database connectivity, check out CodeSmith (Code generator) and Net-Tiers (Code generator templates). These are probably some of the best code generator tools for .NET. The templates will generate code for any database. You'll have your business layer, data layer, web service layer (allowing you to create your web APIs in 5 minutes), a website featuring all of this, NUnit test cases and much more. Very easy to use as well.