A
principios de este mes en el TechEd anunciamos el nombre oficial de
Visual Studio “Orcas” - que se llamará Visual Studio 2008. También
dijimos que el nombre oficial del .NET Framework “Orcas” será .NET
Framework 3.5 (incluye LINQ, soporte integrado para ASP.NET AJAX,
nuevos controles de datos para ASP.NET, y mucho más).
VS2008 y .NET 3.5 Beta 2 se publicarán a finales de verano, y la
Beta2 tendrá una licencia go-live para aquellos que quieran poner sus
aplicaciones en producción usando las nuevas características
inmediatamente.
¿Que es Multi-Targeting?
Las pasadas versiones de Visual Studio tan sólo soportaban una
versión concreta del .NET Framework. Así, VS2002 sólo trabajaba con la
versión .NET 1.0, VS2003 con .NET 1.1 y VS2005 sólo con .NET 2.0.
Uno de los grandes cambios que estamos haciendo con VS 2008 es dar
soporte a lo que llamamos “Multi-Targeting” - consiste en que Visual
Studio permitira trabajar con varias versiones del .NET Framework, con
lo que los desarrolladores serán capaces de empezar a usar las nuevas
características que vienen con Visual Studio sin tener que actualizar
proyectos existentes y desplegar las aplicaciones para que usen una
nueva versión de la librería del .NET Framework.
Ahora, cuando abramos un proyecto existente o cuando creemos uno
nuevo en VS 2008, podremos seleccionar con qué versión del .NET
Framework queremos trabajar - de esta forma, el IDE actualizará los
compiladores y el conjunto de características para cada versión. Entre
otras cosas, conseguirmos que controles, projectos, templates y las
referencias a assemblies que no funcionaban con una versión del
framework se ocultarán, y cuando construyamos la aplicación, seremos
capaces de cojer el resultado de la compilación, ponerlo en una máquina
que sólo tenga una versión antigua del .NET Framework, y la aplicación
funcionará.
Crear un nuevo proyecto en VS 2008 para .NET 2.0
Para ver un ejemplo de esto del “multi-targeting” en VS 2008 Beta2,
seleccionamos “File\New Project” para crear una nueva aplicación.
Fijaos en la esquina superior derecha que sale a continuación: una
lista desplegable que nos permite indicar con qué versión del .NET
framework queremos trabajar en el nuevo proyecto. Si seleccionamos el
.NET Framework 3.5 veremos un nuevo conjunto de templates que no
estaban en las versiones anteriores de VS (incluyendo el soporte para
aplicaciones WPF y proyectos WCF):

Pero si seleccionamos el .NET 2.0, automaticamente filtrará la lista
de proyectos para mostrar aquellos que están soportados para el .NET
2.0:

Si creamos una aplicación Web ASP.NET habiendo seleccionado el
framework 2.0, creará un proyecto web cuyas propiedades de compilación,
referencias a assemblies, y las opciones del web.config estarán
configuradas para servidores ASP.NET 2.0

Si nos vamos a la barra de herramientas, veremos los controles que funcionan con ASP.NET 2.0:

Y si le damos a “Add\Reference” en la ventana para seleccionar los
assembly, veremos que los assemblies que no están soportados para .NET
2.o se mostrarán en gris claro y no podrán ser añadidos al proyecto
(fijaos en que el boton “ok” no está activo cuando seleccionamos un
assembly de .NET 3.0 o 3.5):

¿Pero para que usar VS 2008 si no vamos a usar el nuevo .NET 3.5?
Os estaréis preguntando: “¿qué me aporta VS 2008 para proyectos en
ASP.NET 2.O que no me aporta VS 2005?” Bueno, las buenas nuevas son que
tendremos un monton de nuevas características de la herramienta que no
tenía VS 2005 y que le podemos sacar partido inmediatamente en nuestros
proyectos existentes sin tener que actualizar la versión del Framework.
Unas cuantas de estas características para el desarrollo web son:
- Intellisense para JavaScript
- Debugging de JavaScript mucho más rico.
- Soporte para MasterPages anidadas en la vista de diseño.
- Edición de CSS ricas y layout en el diseñarod WYSIWYG
- Soporte para las vistas de diseño y código a la vez.
- Un diseñador de páginas ASP.NET mucho más rápido - mejoras
increibles en el rendimiento cuando cambiamos entre las vistas
codigo/diseño
- Generación automática de script SQL y soporte para desplegar bases de datos en servidores remotos.
Podremos usar todas estas nuevas características con cualquier
versión del Framework - sin tener que actualizar nuestros proyectos
para versiones nuevas del framework. Escribiré sobre estas
características (y de las nuevas) en las próximas semanas.
¿Cómo podemos actualizar un proyecto existente a la próxima versión de .NET 3.5?
Si más tarde queremos actualizar nuestros proyectos/sitios web a la
versión 3.0 o 3.5 del .NET Framework, podemos hacer clic derecho en el
proyecto en el explorador de soluciones y nos vamos a las propiedades:

Podemos cambiar la versión del Framework en la lista desplegable.
Esto hará que VS actualize automáticamente las opciones del compilador
y las referencias del proyecto para que use la versión adecuada. Por
ejemplo, añadirá por defecto algunos de los assemblies de LINQ, al
System.Web.Extensions que viene con .NET 3.5 que proporciona nuevos
controles y nuevas características de ejcución y añadirá soporte para
ASP.NET AJAX (con esto ya no tendremos que descargar por separado
ASP.NET AJAX 1.0 e instalarlo - ya viene integrado en la instalación de
.NET 3.5):

Una vez actualizada la versión también veremos las cosas nuevas que
podemos añadir en “add\new items”, podemos añadir referencias a
assemblies de .NET 3.5 y veremos los nuevos controles de .NET 3.5 en la
barra de herramientas.
Por ejemplo, abajo podemos ver el nuevo control <asp:listview>
( es un nuevo control que nos permite realizar reporting, edicion,
inserciones, borrado y paginación de datos - con un control del 100%
de las marcas generadas sin ningún estilo ni ningún elemento html), y
el nuevo <asp.linqdatasource> (que nos permite enlazar y trabajar
sobre modelos de datos LINQ to SQL), y <asp:datapager> en la
sección de controles de datos en la barra de herramientas:

Además, también podemos “desactualizar” la versión del framework que
queramos usar, es decir, podemos tener un proyecto que empezamos con la
versión 3.5 y cambiar la versión que usará a la 2.0. De nuevo, el IDE
eliminará las referencias a los asemblies, actualizará el web.config, y
las opciones del compilador (nota: obviamente, si tenemos código en el
proyecto que use las APIs de la versión 3.5, este código dejará de
funcionar).
¿Qué pasa con .NET 1.0 y 1.1?
Lamentablemente VS2008 sólo puede hacer este “multi-targeting” con
las versiones de .NET 2.0, 3.o y 3.5 - y no sobre versiones más
antiguas. Esto es devido a que hubo grandes cambios en el motor del CLR
entre las versiones de .NET 1.X y 2.X que hacen que el debugging muy
difícil. Al final, el coste que tenía este trabajo era tan grande e
implicaba a tantas partes de Visual Studio que no fuimos capaces de
añadir el soporte para la versión 1.1.
VS 2008 funciona perfectamente con VS 2005, VS 2003 y VS 2002. De
forma que es posible seguir creando proyectos para .NET 1.1 con VS 2003
en la misma máquina que tenga VS 2008.
¿Cual es la compatibilidad entre VS 2005 - VS 2008 y .NET 2.0 - .NET 3.5?
Estamos intentando asegurar que el .NET Framework 3.5 es una
actualización compatible de .NET 2.0, y no es necesario cambiar ningún
código para que el código funcione con la nueva versión del Framework.
Deliberadamente hemos hecho ninguna modificaciones que no rompan los
assemblies existentes en la versión 3.5, y las nuevas características
las hemos puesto en assemblies separados para minimizar las
probabilidades de cambios que afecten a la versión anterior.
Tampoco hemos cambiado el modelo de proyecto en VS
2008. !No quiero volver a pasar por eso otra vez!. Ambos modelos: “web
site” y “web application project” estarán soportados completamente de
aquí en adelante.
Espero que sirva.
Scott
Traducido por: Juan María Laó Ramos. Microsoft Student Partner.
toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?
Fuente del articulo: Thinking in .NET