vb6-exportar-a-vb-net

Dejare este testimonio (mas que un tutorial), de los pasos a seguir para migrar una aplicacion VB6 hacia Visual Studio 2015.

Como cualquier receta necesitamos lo siguiente:

Aqui aclaro que use 2 maquinas virtuales donde ya tenia instalados el VB 6 y el VS 2008. Son maquinas VMware Workstation.

Ahora bien, lo primero es abrir nuestro antiguo proyecto VB 6 en nuestro pre historico IDE de Visual Basic, donde revisaremos y compilaremos la version.

vb6-exportar-a-vb-net-000

vb6-exportar-a-vb-net-01

Luego de esto, nos llevamos el proyecto al Visual Studio 2008 y lo abrimos con este IDE. No habrá mayor problema en “abrir” el proyecto en esta versión 2008, el problema es la compilación pero esa la veremos en el VS 2015. Asi que una vez abierto el proyecto lo “guardamos” para salvar los cambios de esta primera exportación.

vb6-exportar-a-vb-net-02

Una vez cerrado el paso por VS 2008, abriremos el “nuevo” proyecto migrado con Visual Studio 2015.

vb6-exportar-a-vb-net-03

vb6-exportar-a-vb-net-04

vb6-exportar-a-vb-net-05

vb6-exportar-a-vb-net-06

Una vez abrierto el proyecto, procederemos a la parte principal: Compilar en VS 2015 este proyecto antiguo. Lo primero que saldra es un error por imcompatibilidad con las componentes COM 1.0:

“Could not resolve COM reference “0ba686c6-f7d3-101a-993e-0000c0ef6f5e” version 1.0. Object reference not set to an instance of an object.”

vb6-exportar-a-vb-net-07

Para sacar este error, debemos quitar las referencias del proyecto a los antiguos objetos como Crystal Reports, MS FlexGrid, objetos Sheridan, DAO, etc. Como muestra la siguiente imagen.

vb6-exportar-a-vb-net-13

Pero como diría Franco de Vita, “NO BASTA” quitar las referencias en esta parte, hay que ir a las propiedades del proyecto y quitar las otras referencias a componentes COM 1.0

vb6-exportar-a-vb-net-08

vb6-exportar-a-vb-net-09

vb6-exportar-a-vb-net-10

Aqui yo ordene por numero de version las componentes, seleccione todas aquellas que ya estan obsoletas y las elimine del proyecto:

vb6-exportar-a-vb-net-11

vb6-exportar-a-vb-net-12

Con esta “limpieza” terminada, procederemos a compilar como la gente este antiguo proyecto Visual Basic 6:

vb6-exportar-a-vb-net-14

Ahora “solo” tenemos errores de compilación por código de programación obsoleto (y miles de Warning también), como el uso del obteto Printer y referencias DAO. Recordset.

Esto puede variar segun cada proyecto que migren y si tienen DLL hechas en Visual Basic 6 seria el mismo procedimiento. Pero eso es mas delicado ya que si la componente funciona bien para que querriamos migrarla ¿o si?

dead-man-ghost

Y un minuto de silencio por todos los objetos COM caídos en esta migración desde nuestro querido Visual Dead Basic 6.

visual-dead-basic

TYDW.-

Anuncios