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.