Índice de la sección dedicada a .NET (en el Guille)

 

Sobre las versiones de los proyectos
de Visual Studio .NET

 

Publicado el 20/Dic/2002
Actualizado el 28/Dic/2002

Más cosillas que debes saber (28/Dic)


Como sabrás, ya es pública la beta final de la nueva versión de Visual Studio .NET (la 2003), aunque sólo estará disponible para los beta-testers y para los que estén subscritos a MSDN.

La nueva versión de Visual Studio .NET se puede instalar en un equipo que tenga la versión anterior de Visual Studio .NET, (así como también con el Visual Studio 6.0), pudiendo desarrollarse tanto con una como con otra de forma indistinta, sin que haya "incompatibilidades" ni se mezclen las cosas.
Esto es posible debido a que la versión 2002 utiliza el .NET Framework 1.0 y la nueva versión (la 2003) usa la versión 1.1 del .NET Framework, incluso desde ésta última se pueden crear ejecutables que sean "compatibles" con la versión anterior del .NET Framework, así como poder crear ejecutables que utilicen una u otra versión de dicho Framework (que no marco de trabajo como he visto que algunos traducen); en el caso de que esté instalada la versión 1.1 se usará esa versión, sino se usará la versión 1.0.
Por supuesto, esto sólo es posible si no se usa ninguna de las nuevas características incluidas en la versión 1.1 del .NET Framework.

Pero no es esto lo que quería comentar, aunque tampoco está de más que lo sepas.

El problema con el que te puedes encontrar, es que después de haber guardado un proyecto con la versión 2003, quieras abrirlo con la versión 2002, te encontrarás que no puedes hacerlo porque está guardado con una versión posterior, (el IDE se encarga de darte este aviso).
Pero no te apures, tiene solución.
El único problema será si estás usando alguna de las nuevas características de dicha versión, si no es así, lo puedes solucionar de forma fácil y rápida, ya que lo único que se modifica es parte del contenido del fichero de soluciones (.sln) y los de proyectos de Visual Basic y C# (.vbproj u .csproj respectivamente, no he comprobado si el de C++ se modifica, pero me imagino que sí).

En el fichero de soluciones, (.sln), la primera línea tendrá uno de estos dos contenidos, según se haya guardado con la versión 2002 o la 2003:

Para VS .NET 2002:
Microsoft Visual Studio Solution File, Format Version 7.00

Para VS .NET 2003:
Microsoft Visual Studio Solution File, Format Version 8.00

En el caso de los proyectos, la versión 2002 guardará esta información:

        ProductVersion = "7.0.9466"
        SchemaVersion = "1.0"

Mientras que la versión 2003, guardará esta información:

        ProductVersion = "7.10.2292"
        SchemaVersion = "2.0"

Por tanto, cambiando esas líneas, funcionarán correctamente.

Si quieres saber lo que yo hago en esos casos, (y si no, también te lo voy contar), es añadir al final del nombre del proyecto y solución un 3 para la versión 2003, y con la versión 2002 dejo el nombre normal, (ya que por ahora esa es la versión "fiable" de Visual Studio .NET), de forma que si quiero abrirlo con la versión "normal", los copio, les cambio el nombre y modifico las líneas que te he comentado.

Por supuesto, si el código incluye llamadas a cosas específicas de la versión 2003, tengo que cambiarlo antes de ejecutarlo, si no lo haces, será el propio IDE el que se encargará de avisarte.
Para estos casos te recomendaría usar constantes de compilación condicional (#Const) y usar un #If... Then para incluir el código de una u otra versión dentro del bloque correspondiente.
En el código del formulario de comprimir/descomprimir tienes un ejemplo de cómo usar esto de la "compilación condicional".

Espero que este comentario te sea de utilidad y te evite algunos quebraderos de cabeza... aunque no muchos, pero es que, después de ver el mensaje que te muestra el Visual Studio .NET 2003 al abrir un proyecto de la versión anterior, parece como si fuera a modificar "todo" el código... y la primera reacción es decir que no... hasta que te das cuenta de que no hay problemas al usar uno u otro.

Nos vemos.
Guillermo


Más cosillas que debes saber (28/Dic/2002)

Si creas un formulario con la versión 2003 y después quieres abrirlo con la versión 2002, te encontrarás que el aspecto no es el que esperabas, además de que "aparentemente" no están todos los controles que tenías en el que inicialmente creaste con la versión de Visual Studio .NET 2003, esto es así porque las librerías utilizadas por la nueva versión son diferentes a la anterior, entre otras cosas, deberías saber que la versión del .NET Framework son distintas y puede que esos cambios sea debido a eso.
Para solucionarlo, abre el archivo de "recursos" del formulario (extensión .resx) y cambia todos los "Version=1.0.5000.0," por "Version=1.0.3300.0," esto hará que tanto en una como en otra versión del VS.NET se muestren correctamente los formularios.
Pero recuerda, que todo esto que te explico sólo funcionará mientras no añadas componentes o cosas específicas de la nueva versión, ya que si añades algo nuevo que no esté en la versión 2002, no podrás utilizarlo en ambas versiones.

Nos vemos.
Guillermo


la Luna del Guille o... el Guille que está en la Luna... tanto monta...