Está en la página 1de 33

Visual Studio 2010 .NET 4.

0 y ALM
Actualzate desde la versin 2008
Bruno Capuano

VISUAL STUDIO 2010 .NET 4.0 Y ALM - ACTUALZATE DESDE LA VERSIN 2008
No est permitida la reproduccin total o parcial de este libro, ni su tratamiento informtico, ni la transmisin de ninguna forma o por cualquier medio, ya sea electrnico, mecnico, por fotocopia, por registro u otros mtodos, sin el permiso previo y por escrito de los titulares del Copyright. Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos, www.cedro.org) si necesita fotocopiar o escanear algn fragmento de esta obra. DERECHOS RESERVADOS 2010, respecto a la primera edicin en espaol, por Krasis Consulting, S. L. www.Krasis.com ISBN: 978-84-936696-4-5 Depsito Legal: M-13975-2010 Impreso en Espaa-Printed in Spain

Prlogo
Todo mi agradecimiento y gratitud a Bruno. Es para m un privilegio tenerlo como amigo y consejero de un producto que desde hace ms de tres aos es parte importante de mi vida. Seguro que vas a disfrutar descubriendo todas las novedades de Visual Studio 2010 que son muchas y variadas. Es un placer contar con colegas que pongan tanta pasin para que los dems tengan un comienzo menos duro con cada versin. Por todo esto, ms su blog, su correr pa n, su pasin por el cdigo, etc... GRACIAS. Antonio Gmez Product Manager Visual Studio - Expression Divisin de Desarrolladores y Plataforma (DPE - Developer & Platform Evangelism) en Microsoft Sin duda es difcil apasionarse con una herramienta de desarrollo. Pero cuando sta es Visual Studio, y quien transmite esa pasin es Bruno, la cosa cambia. Sobre el libro, qu puedo decir: nadie mejor que un apasionado con conocimientos extraordinarios para conseguir que todos aprendamos a exprimir la herramienta con la que pasamos gran parte del da. Es un placer compartir eventos tcnicos con Bruno, es un placer leer su libro. Te puedo garantizar que uno no deja de sorprenderse con las posibilidades de Visual Studio. Rodrigo Corral Gonzlez Software Architect - MVP Team System Son ya muchas las charlas sobre Visual Studio, primero Team System, y ahora ALM, compartidas con Bruno y con Rodrigo, Ahora, con Visual Studio 2010, mi amigo Bruno lanza este libro que a buen seguro se convertir pronto en una gran referencia de la herramienta. Ser lectura recomendada en todas nuestras charlas." Luis Fraile INETA Speaker - MVP Team System

Agradecimientos
No puedo dejar de agradecer a todas las personas que me han apoyado para que escriba este libro. Las voy a ordenar por un criterio personal que es el que se me ha ocurrido en este momento para que sepan que les doy las gracias: A mi chica, a Valentino y a Martina; que entre los 3 forman mi familia y han aguantado noches y noches de un padre distante con la guitarra en la mano y con un Team Foundation Server 2010 delante del monitor en el tico. A mi padre y a mi madre, que desde pequeo me compraron todos los libros que siempre ped, y de esta forma hicieron que leer fuera una de mis pasiones (adems esto sirve para confirmar que leer mucho no significa que puedas escribir bien) A todos aquellos que me ayudaron con revisiones, material, etc.; que no es trabajo fcil llegar a un screenshot de Visual Basic 1. As que gracias Juan Carlos Gonzlez, Roberto Loreto, Gerardo Korndorffer, Jose Miguel Torres, Eduardo del Pozo, Sergio Vzquez y a todos los otros que me ayudaron tcitamente y que no los tengo en ningn correo. A Avanade Spain que me permiti ser ms flexible con mis horarios y poder jugar con Visual Studio 2010 entre proyecto y proyecto. A Jose Manuel por darme la oportunidad de escribir un libro, y de compartir su experiencia conmigo durante el camino. A todos aquellos que alguna vez me dieron un consejo, que me respondieron un mail, con los que compart un caf o una cerveza y que me ayudaron en los momentos medio raros en los que no saba por dnde seguir.

Finalmente, adems del sudor y lgrimas, creo que es interesante compartir las mtricas del trabajo realizado para cerrar este libro. Cerca de 16 litros de cerveza; principalmente botellines de Heineken de 330cl tomados por la noche. Esto me sirve de excusa para los posibles errores que posea el libro. Ms de 20 litros de mate, solo y compartido en familia. He visto como se cambiaba la fecha de lanzamiento de Visual Studio 2010 al 12 de Abril, para que coincida con mi cumpleaos el 14 de Abril. He corrido ms de 149 kilmetros y quemado ms de 13000 caloras. Me han renovado como MVP de Team System por tercera vez.

He visto cerca de 20 partidos de NBA de madrugada, mientras revisaba todo el material. Me he dado un golpazo que me ha costado 8 puntos de sutura en la frente, mientras escuchaba un podcast de CMMI (reservados los comentarios). He escrito partes del libro en 6 aeropuertos diferentes. He sufrido el cambio de nombre de Visual Studio a Visual Studio Ultimate, gracias amigos de Seattle, tuve que revisar todo el libro. Ha nacido mi nia Martina el 13 de diciembre del 2009; que se ha sumado a Valentino con sus 2 aitos, para que mis das sean lo menos productivo posibles sper happy happy.

vi

Contenido
INTRODUCCIN Y UN POCO DE HISTORIA ................................................ xii NOVEDADES EN EL IDE .............................................................................................. 1 1.- Novedades en el IDE .................................................................................................................. 1 1.1.- Rincn del Friki: Por qu la Splash Screen no est desarrollada sobre WPF? 3 1.1.1.- Proceso para el control de las animaciones en la Splash Screen ................ 4 1.1.2.- Alpha Blending ......................................................................................................... 5 1.1.3.- Informacin en el Splash Screen .......................................................................... 6 1.2.- Rincn del Friki: Cmo lanzar Visual Studio sin mostrar la Splash Screen? .... 6 2.- IDE Basado en Windows Presentation Foundation ............................................................ 6 2.1.- Tutorial: Agregando video online a nuestro editor de cdigo fuente................ 8 2.2.- Tutorial: Trabajando con los nuevos tipos de seleccin en el IDE ................... 11 3.- La nueva Start Page ................................................................................................................... 14 3.1.- Tutorial: Personalizando la Start Page ...................................................................... 16 4.- Soporte MultiMonitor .............................................................................................................. 19 5.- Soporte para Multi Targeting .................................................................................................. 20 5.1.- Mejoras en la ventana de Agregar Referencias ...................................................... 22 6.- Bsqueda Inteligente ................................................................................................................. 23 7.- Resaltar Referencias .................................................................................................................. 24 8.- Consumir luego declarar ......................................................................................................... 25 8.1.- Tutorial: Utilizacin de Generate From Usage ...................................................... 26 9.- Jerarqua de Llamadas ............................................................................................................... 29 10.- Anlisis de Cdigo .................................................................................................................. 31 11.- IntelliTrace (Depurador Histrico) ................................................................................... 34 11.1.Configuracin de IntelliTrace ............................................................................. 37 11.2.Cmo funciona IntelliTrace ................................................................................. 40 11.3.Abriendo archivos de depuracin de IntelliTrace ......................................... 42 12.- Depuracin en Visual Studio 2010 ..................................................................................... 45 12.1.Tutorial: Anclar ventanas de Watch en el IDE ............................................... 47 12.2.Tutorial: Importar y Exportar BreakPoints ..................................................... 48 13.- Otras MEjoras en el IDE ....................................................................................................... 50 13.1.Intellisense en el editor SQL en Visual Studio ................................................ 50 13.2.Paneles para la depuracin de mltiples hilos y tareas................................. 52 13.3.Nuevo Intellisense y soporte para nuevos editores .................................... 54 13.4.Desarrollando para Sharepoint .......................................................................... 55 NOVEDADES EN LOS LENGUAJES .............................................................................. 59 1.- Evolucin de .Net Framework ............................................................................................... 59 1.1.- Soporte para lenguajes dinmicos ............................................................................. 59

viii Visual Studio 2010 .NET 4.0 y ALM Actualzate desde la versin 2008

2.-

3.-

4.-

5.-

1.1.1.- Tutorial: Ejemplo de las ventajas en la utilizacin de dynamic. ................. 62 1.2.- Programacin en Paralelo ............................................................................................ 64 1.2.1.- Tutorial: Ejemplo de programacin con Parallel ........................................... 65 1.3.- Monitorizacin de Aplicaciones ................................................................................. 69 1.3.1.- Tutorial: Monitorizacin de aplicaciones a nivel de dominio de aplicacin . 70 1.4.- Inicializacin tarda de objetos (Lazy Initialization) ............................................... 72 1.4.1.- Tutorial: Creacin de objetos con Lazy<T> .................................................. 72 1.5.- Ejecucin In-Process Side-By-Side ............................................................................. 74 1.6.- Garbage Collector: Background GC ........................................................................ 75 1.7.- Code Contracts ............................................................................................................. 75 1.8.- Interoperabilidad ............................................................................................................ 77 1.8.1.- Tutorial: Trabajando con Excel en Visual Studio 2010 ................................ 78 1.9.- Covarianza y Contravarianza ...................................................................................... 80 1.10.Colecciones y nuevas estructuras de datos .................................................... 82 1.10.1.- Tutorial: Trabajando con SortedSet<T> ......................................................... 84 1.11.Gestin de Excepciones ....................................................................................... 86 1.12.Gestin de Archivos ............................................................................................. 87 1.13.Mejoras en Isolated Storage ................................................................................ 89 1.14.Mejoras en el trabajo con hilos (Threads)....................................................... 89 1.15.Managed Extensibility Framework ..................................................................... 90 1.16.Otras mejoras en .Net Framework .................................................................. 91 Novedades en C# 4.0 ............................................................................................................... 93 2.1.- Conceptos preliminares ............................................................................................... 93 2.2.- Introduccin .................................................................................................................... 94 2.3.- Soporte para programacin dinmica ....................................................................... 94 2.4.- Parmetros opcionales ................................................................................................. 96 2.5.- Mejoras en el trabajo con componentes COM ..................................................... 99 Novedades en Visual Basic 2010 ......................................................................................... 100 3.1.- Un poco de historia .................................................................................................... 100 3.2.- Propiedades Auto-Implementadas ........................................................................... 101 3.3.- Inicializadores de Colecciones .................................................................................. 103 3.4.- Continuacin de lneas implcita............................................................................... 105 3.5.- Soporte para expresiones Lambda multi lnea ..................................................... 107 3.6.- Soporte para programacin dinmica ..................................................................... 109 3.6.1.- Tutorial: Utilizando objetos dinmicos desde Visual Basic 2010 ............ 110 Novedades en Visual C++ ..................................................................................................... 112 4.1.- Introduccin .................................................................................................................. 112 4.2.- Soporte para MSBuild en proyectos de Visual C++ ........................................... 112 4.2.1.- Tutorial: Convirtiendo proyectos de Visual Studio 2008 a Visual Studio 2010 112 4.3.- Mejoras en el IDE, especialmente en Intellisense ................................................ 113 4.3.1.- Rincn del Friki: Funcionamiento del Intellisense en Visual C++ 2010 114 4.4.- Soporte para Restart Manager ................................................................................. 116 4.5.- Ms velocidad en Link Time Code Generation.................................................... 116 4.6.- Msvelocidad en Profile Guided Optimization ..................................................... 117 4.7.- Otras mejoras en Visual C++ ................................................................................... 117 Nuevo lenguaje: F#.................................................................................................................. 117 5.1.- Introduccin a los lenguajes funcionales ................................................................ 117
viii

Contenido ix

5.2.- Bienvenido F# ............................................................................................................... 120 5.3.- Trabajando con F#....................................................................................................... 121 5.3.1.- Tutorial: Primera aplicacin en F# .................................................................. 129 5.3.2.- Tutorial: Utilizar tipos del CLR en F# ........................................................... 130 5.3.3.- Creando bibliotecas .Net en F# ...................................................................... 131 HERRAMIENTAS DE MODELADO ............................................................................. 137 1.- Herramientas de Modelado .................................................................................................. 137 1.1.- Introduccin .................................................................................................................. 137 1.2.- Diseo basado en Modelos ....................................................................................... 140 1.3.- Herramientas de modelado: Domain-Specific Languages .................................. 141 1.4.- Herramientas para Arquitectos en Visual Studio 2010 ...................................... 145 1.5.- Resumen ......................................................................................................................... 146 2.- Layer Diagram .......................................................................................................................... 147 2.1.- Diseo en capas con Layer Diagram....................................................................... 148 2.1.1.- Tutorial: Crear un diagrama Layer Diagram ................................................ 154 2.2.- Asociaciones mltiples en Layer Diagram ............................................................. 160 2.2.1.- Tutorial: Realizar asociaciones mltiples en Layer Diagram .................... 161 2.3.- Asociaciones con WorkItems en Layer Diagram ................................................ 162 2.3.1.- Tutorial: Realizar asociaciones con WorkItems en Layer Diagram ....... 163 2.4.- Validacin del diseo con Layer Diagram .............................................................. 165 2.4.1.- Tutorial: Validar una solucin con un Layer Diagram ............................... 168 2.4.2.- Tutorial: Cmo verificar la validacin de capas en un Build en TFS2010 ... 170 2.4.3.- Tutorial: Cmo activar la validacin de capas en un Build en TFS2010 ..... 171 2.4.4.- Tutorial: Cmo agregar elementos personalizados en la Toolbox del Layer Diagram. 173 3.- Directed Graph Markup Language (DGML) ..................................................................... 176 3.1.- Introduccin a DGML ................................................................................................. 176 3.1.1.- Tutorial: Mi primer diagrama DGML ............................................................. 179 3.1.2.- Tutorial: Utilizando la ventana de leyenda y seleccin en DGML .......... 181 3.1.3.- Tutorial: Agrupando nodos en DGML .......................................................... 183 3.1.4.- Tutorial: Realizando validaciones en DGML ................................................ 184 3.1.5.- Tutorial: Creando diagramas DGML desde un proyecto ......................... 186 4.- ArchiTecture Explorer ........................................................................................................... 188 4.1.- Introduccin .................................................................................................................. 188 4.2.- Utilizando Architecture Explorer ............................................................................ 189 4.2.1.- Tutorial: Analizar una solucin en vista de Clases ..................................... 193 4.2.2.- Tutorial: Analizar una solucin en vista de Solucin.................................. 194 4.2.3.- Tutorial: Aplicar filtros y disparar acciones entre columnas. .................. 194 4.2.4.- Tutorial: Generar grficos DGML con la informacin de Architecture Explorer 195 4.3.- Consultas en Architecture Explorer: DGQL ....................................................... 197 4.3.1.- Tutorial: Guardar una consulta DGQL ......................................................... 198 5.- Anlisis de Dependencias grficos ....................................................................................... 199 5.1.- Generacin de relaciones entre ensamblados ..................................................... 199 5.2.- Generacin de relaciones entre Namespaces ...................................................... 199 5.3.- Generacin de relaciones entre Clases ................................................................. 200 6.- Diseadores UML .................................................................................................................... 201 6.1.- Introduccin a UML .................................................................................................... 201 6.2.- Diagramas de Casos de Uso ..................................................................................... 204

x Visual Studio 2010 .NET 4.0 y ALM Actualzate desde la versin 2008

6.2.1.- Tutorial: Creando mi primer diagrama de Casos de Uso ........................ 206 6.3.- Diagrama de Actividades ............................................................................................ 208 6.3.1.- Tutorial: Crear un diagrama de actividad y relacionarlo con un caso de uso. . 209 6.4.- Diagrama de Componentes ...................................................................................... 211 6.5.- Diagrama de Clases (UML)........................................................................................ 211 6.5.1.- Tutorial: Generar cdigo a partir de un diagrama de clases UML ......... 213 6.6.- Diagrama de Secuencia ............................................................................................... 216 6.6.1.- Tutorial: Crear un diagrama de secuencia UML a partir de los elementos de un diagrama de clases UML....................................................................................... 217 6.6.2.- Tutorial: Crear un diagrama de secuencia UML a partir de cdigo. ...... 218 6.7.- UML Model Explorer .................................................................................................. 220 6.7.1.- Tutorial: Utilizando el panel UML Model Explorer .................................... 221 TEAM FOUNDATION SERVER 2010 Y LA GESTIN DE PROYECTOS.......................... 223 1.- Novedades en TFS 2010 ........................................................................................................ 223 1.1.- Introduccin .................................................................................................................. 223 1.2.- Team Project Collections .......................................................................................... 224 1.2.1.- Tutorial: Cmo detener un Team Project Collection y mostrar un mensaje personalizado a los usuarios que acceden al mismo. ............................... 226 1.3.- WorkItems Jerrquicos .............................................................................................. 228 1.3.1.- Rincn del Friki: Pequeas grandes mejoras cuando trabajamos con WorkItem Queries ........................................................................................................... 231 1.3.2.- Tutorial: Trabajando con WorkItems jerrquicos en Visual Studio ...... 233 1.3.3.- Tutorial: Trabajando con WorkItems jerrquicos en Microsoft Project 235 1.4.- Mejoras en la definicin y presentacin de WorkItems .................................... 236 1.5.- Novedades en Source Control ................................................................................ 238 1.5.1.- Rincn del Friki: Cambio en el corazn del Source Control Item Mode vs Slot Mode... 242 1.6.- Integracin con Microsoft Office ............................................................................. 243 1.6.1.- Tutorial: Trabajando con WorkItems jerrquicos en Excel ................... 246 2.- Instalacion y despliegue de TFS 2010 ................................................................................. 247 2.1.- Instalacin de Team Foundation Server 2010 ...................................................... 247 2.2.- Administracin de Team Foundation Server 2010 ............................................. 249 2.3.- Team Foundation Server Basic ................................................................................. 250 2.4.- Topologas de instalacin de TFS 2010 .................................................................. 251 3.- TFS Build 2010.......................................................................................................................... 253 3.1.- Introduccin .................................................................................................................. 253 3.2.- Build Controllers y Build Agents ............................................................................. 254 3.2.1.- Rincn del Friki: TFS Build Service con soporte a procesos interactivos ...... 256 3.3.- Procesos de compilacin basados en WF 4.0 ...................................................... 257 3.4.- Propiedades de las definiciones de compilacin .................................................. 260 3.4.1.- Tutorial: Personalizando el formato del nombre de un Build ................. 263 3.5.- Analizando y trabajando con los resultados de las compilaciones .................. 264 3.6.- Test Impact Results ..................................................................................................... 267 3.6.1.- Tutorial: Utilizando Test Impact View ........................................................... 268 3.7.- Gated Check-in ............................................................................................................ 270
x

Contenido xi

3.7.1.- Rincn del Friki: Cmo realizar un CheckIn que no dispare un proceso de Integracin Continua? ............................................................................................................ 272 4.- Gestionando proyectos con TFS 2010............................................................................... 273 4.1.- Introduccin .................................................................................................................. 273 4.2.- Mejoras en MSF for Agile........................................................................................... 275 4.3.- Mejoras en MSF for CMMI ........................................................................................ 278 4.4.- Conclusin ..................................................................................................................... 282 NOVEDADES EN TESTING EN VISUAL STUDIO 2010 ............................................... 283 1.- Introduccin .............................................................................................................................. 283 2.- Eliminar los escenarios No-Repro .................................................................................. 283 3.- Microsoft Test Manager ......................................................................................................... 285 4.- Coded UI TEsts ........................................................................................................................ 291 4.1.1.- Tutorial: Creacin y lanzamiento de una prueba del tipo Coded UI Test ....... 294 5.- entornos de Pruebas Virtuales: Lab Management ........................................................... 295 6.- Conclusin ................................................................................................................................. 298 EL NUEVO MODELO DE LICENCIAS EN VISUAL STUDIO 2010 .................................. 301 1.- Introduccin .............................................................................................................................. 301 2.- Productos por versin ........................................................................................................... 303 NDICE ANALTICO .......................................................................................... 307

xii Visual Studio 2010 .NET 4.0 y ALM Actualzate desde la versin 2008

Introduccin y un poco de historia


Las personas que nos dedicamos al desarrollo del software hemos visto como las herramientas han evolucionado durante los ltimos aos. Hoy contamos con entornos de desarrollo (IDE) muy potentes, que no slo permiten desarrollar aplicaciones, sino tambin permiten realizar otras tareas como depurar en entornos remotos, gestionar aplicaciones On the Cloud, verificar el estado de avance de un proyecto, y muchas otras funcionalidades que hacen que se pueda trabajar en un equipo de desarrollo. Pero todo esto comenz hace ya bastante tiempo cuando las herramientas simplemente permitan realizar 2 acciones bsicas para un desarrollador: editar y compilar; luego tenamos en nuestro escritorio de trabajo, muchos diagramas, esquemas y bocetos que nos ayudaban a trabajar. Sobre esta base de 3 herramientas han crecido los IDEs hasta ser lo que conocemos actualmente. Por ejemplo, hace ya ms de 10 aos, las herramientas con las que trabajaba un programador estaban orientadas exclusivamente a una funcin. Si necesitabas hacer aplicaciones Windows podas utilizar Visual Basic 6 y hacer aplicaciones muy velozmente. Si comenzbamos a pensar en capas y en aplicaciones web, pues nos tocaba crear componentes COM con Visual Basic, crear pginas ASP con Visual Interdev y seguramente utilizbamos una base de datos SQL 7 o Access como repositorio de datos. La gestin del versionado de cdigo fuente la realizbamos con Visual Source Safe y hasta aqu ya voy contando 4 herramientas diferentes para trabajar en un proyecto. Con la llegada de Visual Studio .Net, tuvimos un gran cambio en este aspecto: tenamos un nico entorno de desarrollo para crear aplicaciones Windows, aplicaciones Web, aplicaciones para dispositivos mviles; e inclusive desde la interfaz de Visual Studio podamos realizar otras tareas como acceder a los servicios de Windows, consultar el visor de eventos, y muchas ms. El principal cambio fu la inclusin del .Net Framework (en su versin 1.0), una plataforma de desarrollo que nos permita independizarnos del lenguaje de programacin y poder utilizar el lenguaje que ms se adapte a nuestros gustos para programar. A partir de este momento, el concepto de cmo desarrollar aplicaciones cambi radicalmente, pero sin embargo las herramientas seguan estando enfocadas a las tareas de un desarrollador. Esto cambio con Visual Studio Team System 2005. En esta Release Microsoft hizo una apuesta muy fuerte y cambio el concepto clsico de herramientas de desarrollo. Visual Studio pas a ser un conjunto de diferentes herramientas y las mismas se clasificaban por perfil, de esta forma exista una versin para programadores, otra para Testers, otra para arquitectos y una para administradores de base de datos. Obviamente el IDE segua siendo la herramienta principal y dentro de la misma existan otras
xii

Introduccin y un poco de historia xiii

herramientas que eran compartidas por varios perfiles, pero se introdujo algo que realmente revolucion la forma de trabajar: Team Foundation Server (TFS). Team Foundation Server es el servidor de trabajo a travs del cual las personas que integran un equipo de trabajo pueden colaborar entre s. Y colaborar es algo ms que compartir informacin; TFS se encarga del versionado de los archivos de cdigo fuente, de la gestin de la configuracin, se integra con Sharepoint para poder gestionar la documentacin siempre tan necesaria en un proyecto, e inclusive incorpora un motor de compilacin para poder automatizar las tareas de compilacin. En realidad TFS puede llegar a realizar muchas otras tareas, gracias a un modelo de trabajo extensible, que permite que lo adaptemos a las necesidades puntuales de cada proyecto. Pero la mejor virtud que posee TFS es que toda la informacin que se recoge en las diferentes tareas, se almacena en una base de datos de DataWarehouse que luego puede ser explotada para analizar y cruzar esta informacin, por ejemplo para ver datos clsicos como la evolucin de la cantidad de errores por Release, u otros ms raros como la cantidad de errores por horas trabajadas y los problemas que podemos tener por no tener una buena planificacin de iteraciones. Visual Studio Team System 2008 es una evolucin de Visual Studio Team System 2005, porque si bien incorpora nuevas funcionalidades como la capacidad de poder trabajar con integracin continua; los conceptos sobre los que trabaja la herramienta siguen siendo las mismos. Aunque ojo!, que durante todo este tiempo tambin ha madurado el .Net Framework, y despus de 3.5 versiones, ha dejado de ser un Runtime de ejecucin de aplicaciones, para ser una coleccin de herramientas para el desarrollo de aplicaciones: ADO.Net, Entity Framework, Silverlight, Windows Communication Foundation, ASP.Net MVC, etc.; uff no termino ms.

BIENVENIDO VISUAL STUDIO 2010


Y ahora ha llegado Visual Studio 2010, que una vez ms supone un cambio en la forma en la que desarrollamos software. En este libro doy un recorrido por las mejoras que existen en .Net Framework 4.0 y en el IDE de Visual Studio 2010, e intento hacer hincapi en las novedades de esta versin: herramientas de modelado, la gestin de proyectos, las mejoras en el Build, etc. Pero claro, hay tanto material nuevo en Visual Studio 2010 que es imposible meter todo es un nico libro, tal vez en el prximo o tal vez en una versin ms extendida. Pero creo que si quieres conocer las principales novedades de Visual Studio 2010, estas pginas son un buen punto de partida. Ahora que he terminado de crear el contenido y reviso esta introduccin, realmente veo que tratar de escribir sobre Visual Studio 2010 es una tarea titnica. De la mayora de los temas que comento en los captulos del libro seguramente se escribirn varios libros, algunos ya estn publicados como ASP.Net 4.0, y otros como Silverlight 4, Entity Framework 4.0, desarrollo para AZURE, etc.; vern la luz durante el ao 2010. Como soy una persona prctica, he decidido reemplazar pginas de texto sobre un tema determinado con tutoriales. Es decir, para cada novedad o elemento que comento de Visual Studio 2010 + .Net 4.0, intento agregar un pequeo tutorial para demostrar esa funcionalidad. As es que, entre una cosa y otra, hay ms de 45 tutoriales que te permitirn, no solo leer sobre lo nuevo de esta versin, sino que adems con un Visual

xiv Actualzate desde la versin 2008

Studio a mano, poder probarlo en pocos pasos. Tambin he agregado muchas referencias a material externo en cada seccin, que va desde un artculo de gestin de excepciones en C++ del ao 2002 (fundamental!), hasta la documentacin en lnea de MSDN que todava est por cerrarse para .Net 4.0 y Visual Studio 2010. Finalmente, en algunas secciones especiales he creado un [Rincn del Friki] que apunta bsicamente a escenarios de bajo nivel, a temas que no se tratan habitualmente o a pequeos consejos que siempre es til conocer.

CAPTULO

Novedades en el IDE

En este captulo daremos un repaso a las novedades que se han incorporado al entorno de desarrollo de Visual Studio 2010. Desde las novedades estticas relacionadas con Windows Presentation Foundation y el nuevo modelo de extensibilidad, hasta algunas de las nuevas herramientas para desarrolladores que se han incorporado en esta versin.

1.- NOVEDADES EN EL IDE


Para nosotros los desarrolladores o programadores, el entorno de desarrollo integrado de Visual Studio (IDE: Integrated Development Environment,http://bit.ly/7Azaog) no ha cambiado mucho en los ltimos aos. La base del IDE es un rea central de trabajo, una coleccin de mens y barras de herramientas; y una serie de paneles que es posible anclar (traduccin libre de dock) y agrupar donde se publican funcionalidades propias de las herramientas internas de Visual Studio. Por ejemplo la siguiente imagen muestra un pantallazo de Visual InterDev del ao 1999 donde es posible ver que los conceptos de paneles, ventana de propiedades y zona central de trabajo se mantienen hasta nuestros das.

2 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

Figura 1.- IDE de Visual Interdev

La siguiente imagen muestra el IDE de Visual Studio Team Suite 2008 (10 aos despus), en la misma se ha cargado la solucin completa con el cdigo fuente de Enterprise Library versin 4.1 (http://bit.ly/7BbAcB). Esta solucin posee 42 proyectos y en la imagen se est editando el cdigo fuente del gestor de recursos de tipo String. Si bien es posible notar diferencias, relacionadas con las ventanas de Windows, la base del IDE sigue siendo la misma.

Figura 2.- IDE de Visual Studio 2008

Novedades en el IDE 3

Cuando desde el men de programas de Windows, accedemos por primera vez al acceso de Visual Studio 2010 lo primero que llama la atencin es el nuevo logo de Visual Studio donde se presenta el clsico smbolo de infinito (http://bit.ly/5tuGyt) de Visual Studio. En esta versin el logo de infinito ha perdido las formas rectas conectadas entre s y ha pasado a ser una cinta continua con su base en colores azules. Luego se lanza la ventana de inicio (Splash Screen) y aqu ya vemos que los cambios son visibles desde el primer momento.

Figura3.-Splash Screen Visual Studio 2010

A continuacin nos encontramos con un entorno de trabajo integrado completamente diferente al que se nos presentaba desde Visual InterDev hasta Visual Studio 2008. En realidad los elementos del IDE son los mismos: barras de herramientas, mens y paneles; pero en la versin 2010 el IDE ha sido completamente rediseado basado en WPF con lo que las capacidades de extensin y presentacin aprovechan ahora toda la potencia de Windows Presentation Foundation.

1.1.- Rincn del Friki: Por qu la Splash Screen no est desarrollada sobre WPF?
Si bien todo Visual Studio 2010 est basado en Windows Presentation Foundation, la Splash Screen est creada utilizando otras tecnologas. Este cambio ha sido obligado principalmente por cuestiones de rendimiento, basado en las siguientes premisas:

4 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

La pantalla de inicio debe ser lo ms rpida posible entre el momento que se lanza la aplicacin y la Splash Screen aparece. No se busca perder recursos dedicados a la aplicacin en la Splash Screen, la misma solo debe dar la bienvenida al usuario.

Si se hubiese utilizado Windows Presentation Foundation en la implementacin de la Splash Screen, hubiese sido necesario que se esperase para que se inicializase el CLR y el gestor de WPF para poder comenzar a pintar la Splash Screen. Este funcionamiento no se puede comparar con el rendimiento de aplicaciones directamente escritas en cdigo nativo C++. Este es el motivo principal por el que se decidi crear la Splash Screen en C++. Esta seccin est basada en un WebCast de Paul Currington sobre extensibilidad de Visual Studio, ms informacin en http://bit.ly/5LMrpl.

1.1.1.- Proceso para el control de las animaciones en la Splash Screen


La Splash Screen en Visual Studio 2010 se desvanece suavemente durante el tiempo en el que se puede ver la misma antes de lanzar el IDE de Visual Studio. Esta animacin tarda aproximadamente 200 milisegundos que, segn palabras de un ingeniero de rendimiento de Microsoft: "es una eternidad y debe ser aprovechado". Es por esto que durante los 200 milisegundos que tarda la Splash Screen en visualizarse, se da inicio a todo el proceso de control de interfaz de usuario de Visual Studio 2010 desde un subproceso en segundo plano. En el inicio de la aplicacin, Visual Studio crea un subproceso dedicado, de baja prioridad, para cargar la imagen de la Splash Screen y luego aplica el efecto para ocultarlo con el efecto de desvanecimiento en la pantalla. Una vez que se realiza la intensificacin, el subproceso se pega hasta la ventana principal est lista para mostrar, momento en el que se destruye la ventana de la Splash Screen y el subproceso se destruye tranquilamente.

Si se ejecuta Visual Studio 2010 en un equipo con un solo ncleo el subproceso que controla la animacin del Splash Screen no se crea, es el proceso principal de Visual Studio 2010 el que se encarga de todo el trabajo. En este caso, no hay animaciones de fundido ni de desvanecimiento, en cambio el Splash Screen aparece en la pantalla simplemente como una imagen. La animacin tambin est desactivada en una sesin de escritorio remoto para ahorrar ancho de banda de la red.

Nota:

Novedades en el IDE 5

1.1.2.- Alpha Blending


Una caracterstica llamativa de la nueva Splash Screen est en el borde de la parte inferior de la misma. ste posee una curva que imita el logo de infinito de Visual Studio, asimismo en la imagen tambin se han redondeado esquinas superiores y se ha aplicado una suave sombra. Las curvas, sombra y anti-aliasing se obtienen ajustando el canal Alpha (que define la transparencia) de cada pxel de la imagen original. Vamos por un poco de cultura general sobre Alpha Blending: el color de un pxel de la pantalla est determinada por sus valores de componente de color rojo, verde y azul (RGB, por sus siglas en ingls Red, Green and Blue). Variando los valores de cada componente o el "canal" se pueden crear millones de colores diferentes. Cuando todos los canales estn apagados el resultado es un pxel negro, y al contrario cuando todos los canales estn en su mxima intensidad, se muestra un pxel blanco. La intensidad de cada canal est representada por un nmero donde cero significa "off" y el valor mximo es la intensidad mxima posible. As, por ejemplo, a partir de un pxel negro (todos los canales "off"), aumentando gradualmente el valor del canal rojo mostrar un pxel gradualmente ms brillante y ms brillante rojo. Normalmente, un nmero de 8 bits (byte) se utiliza para representar la intensidad, por lo que la intensidad mxima est representada por el nmero 255. Con tres canales, 3 bytes (24 bits) se necesitan para representar todos los colores posibles. La mayora de los equipos actualmente son de 32 bits, lo que significa que registros internos y memoria trabajar ms eficazmente cuando se trata de datos que son de 32 bits de longitud (un valor DWORD). Si utilizamos un valor DWORD para representar cada pxel, con slo 24 bits utilizados para obtener informacin de color, eso nos dejar 8 bits de "informacin perdida" o "informacin no utilizada". Esos bits no utilizados en cada pxel son demasiado seductores para omitirlos. No se tard mucho tiempo antes de que alguien tuviese una excelente idea: utilizar esos bits de repuesto. El canal alfa utiliza esos 8 bits para representar el "Blending" para cada pxel "PPA: per pxel Alpha". Cuando el pxel est pintado en la pantalla, se determina el "Blending" para ese pixel a travs del valor alfa. Un valor alfa de cero indica un pxel completamente transparente - que no contribuye en absoluto a la imagen final. Un pxel totalmente opaco - uno que pinta completamente cualquier pxel subyacente - est representado por el mximo valor alfa de 255. Valores de alfa entre 0 y 255 representan contribuciones parciales. Un valor ms alto de alfa significa una contribucin ms fuerte de los pxeles de la imagen. Ahora, en lugar de simplemente modelo RGB, tenemos un ARGB (A para Alpha), 32 bits por pxel (32bpp) imagen. Para la imagen de la Splash Screen de Visual Studio 2010, los bordes curvados y la sombra forman parte de la imagen original y se aprovechan las capacidades de Alpha Blending para difuminar la imagen sobre el rea de trabajo. En el caso de los bordes suaves (por ejemplo con sus sombras), el canal alfa vara de pxel a pxel hasta difuminarse. Toda la imagen se almacena en formato PNG (Portable Networks Graphics, http://bit.ly/6z8gdA). El formato PNG tiene compresin sin prdidas y es compatible con un canal Alpha de 8 bits completo. La imagen es decodificada desde su formato de archivo PNG y se carga en memoria utilizando GDI +.

6 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

1.1.3.- Informacin en el Splash Screen


Pero esto no es todo, ya que la imagen final, incluye tambin ms informacin: el texto de la licencia de Visual Studio, el derecho de autor, el usuario que instal el producto, entre otras. El texto est pintado en la imagen de base que se ha cargado en memoria utilizando GDI +. Una de las ventajas de utilizar GDI+ es que el mismo admite la insercin de texto con ClearType suavizado en la imagen. De esta forma tambin es posible dar soporte para mltiples culturas en el Splash Screen de Visual Studio

Durante la instalacin de Visual Studio, se genera la imagen de la Splash Screen final creando la imagen de base con texto localizado, utilizando GDI +. La imagen se guarda como un archivo PNG almacenado como datos de programa en el equipo del usuario

Nota:

1.2.- Rincn del Friki: Cmo lanzar Visual Studio sin mostrar la Splash Screen?
En Visual Studio 2010 se ha respetado un parmetro que se aplica al ejecutable de Visual Studio que se viene utilizando desde hace bastantes versiones [/nosplash]. Este parmetro indica a Visual Studio que se lance sin mostrar la Splash Screen.

2.- IDE BASADO FOUNDATION

EN

WINDOWS

PRESENTATION

Ms all de una cuestin esttica, la decisin de montar el IDE de Visual Studio sobre Windows Presentation Foundation viene dada por una cuestin de fondo: mejorar la experiencia del usuario; en este caso de los diferentes perfiles que intervienen en el proceso de desarrollo. Una buena experiencia de usuario implica una mayor productividad, ms efectividad y aumento de beneficios. Por ejemplo, en los editores de cdigo, el texto que se visualiza en los editores presenta una fuente y un tamao determinado. Habitualmente cuando queremos cambiar el tamao del texto en Visual es necesario acceder al men [Tools // Options // Environment // Fonts and Colors] y desde all cambiar el tamao del texto. La siguiente imagen muestra un ejemplo con el tamao del texto en 8 pixeles y 72 pixeles en Visual Studio 2008.

Novedades en el IDE 7

Figura 4.- Cambio de tamao en Visual Studio 2008

En Visual Studio 2010 ya tenemos la capacidad de poder configurar el Zoom dinmicamente con lo que para cambiar el tamao del texto que vemos en un editor, solo debemos presionar CTRL+ y con el botn central del mouse (la ruedita) podremos cambiar la visualizacin completa de nuestro editor. Pero esto tiene otras ventajas, al ser un dibujado vectorial el que presenta Windows Presentation Foundation, si aumentamos el nivel de Zoom a un 400% la calidad del texto que visualizamos no se degradar. Obviamente que hacer un zoom tan grande sobre texto no tiene sentido, pero en captulos posteriores veremos cmo las nuevas capacidades grficas han permitido que existan nuevos diseadores grficos y que el nivel de detalle que se visualice en los editores puede estar de acuerdo con el nivel de zoom con el que se est trabajando.

Figura 5.- Cambio de Zoom en Visual Studio 2010

Adems podemos seleccionar texto no solo en modo text, es decir lnea a lnea, sino tambin en modo seleccin abierta (Box Mode). Esto permite que dentro del editor de cdigo sea posible seleccionar una seccin irregular y trabajar con la misma: por

8 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

ejemplo copiar el contenido al portapapeles o insertar texto en el mismo. En el nuevo IDE se han agregado nuevas caractersticas sobre estas funcionalidades: La capacidad de seleccionar una lnea de longitud cero. La capacidad de editar mltiples lneas al mismo tiempo.

Estas funcionalidades se conocen como [Box Selection] y [Multi-Edit].

2.1.- Tutorial: Agregando video online a nuestro editor de cdigo fuente


El siguiente tutorial demuestra como agregar una ventana de video de Channel 9 al editor de cdigo de Visual Studio en la seccin superior del editor, utilizando un elemento del tipo MediaElement (http://bit.ly/8maMGs) de Windows Presentation Foundation. Para este ejemplo se requiere instalar el SDK de Visual Studio 2010, actualmente se puede descargar desde: http://bit.ly/8CduLT. 1. Abrir Visual Studio 2010. 2. Crear un nuevo proyecto a travs de las opciones de men [File / New / Project] 3. En la lista de plantillas seleccionar [Installed Templates / Visual C# / Extensibility / Editor Margin] 4. Definir el nombre del proyecto y la ubicacin del mismo. En este caso llamaremos al proyecto [VS2010BookEditorMargin]

Figura 6.- Agregar nuevo proyecto

Novedades en el IDE 9

5. En el proyecto de extensibilidad podremos ver que el proyecto posee 2 clases principales: GreenMargin.cs y MarginFactory.cs.

Figura 7.- Estructura de Proyecto

6. Renombrar la clase GreenMargin por C9VideoMargin. 7. Modificar el cdigo como en el siguiente ejemplo.
/// <summary> /// A class detailing the margin's visual definition /// including both size and content. /// </summary> class C9VideoMargin : Canvas, IWpfTextViewMargin { // The name of the margin public const string MarginName = "C9VideoMargin"; // The IWpfTextView that our margin will be attached to. private IWpfTextView _textView; // A flag stating whether this margin has been disposed private bool _isDisposed = false; /// <summary> /// Creates a <see cref="C9VideoMargin"/> for a given /// <see cref="IWpfTextView"/>. /// </summary> /// <param name="textView">The <see cref="IWpfTextView"/> /// to attach the margin to.</param> public C9VideoMargin(IWpfTextViewtextView) { // Set the IWpfTextView _textView = textView; // Establish the background of the margin. this.Height = 240; this.ClipToBounds = true; this.Background = new SolidColorBrush(Colors.Orange);

10 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

// add media element MediaElement videoChannel9 = new MediaElement() { Source = new Uri ("http://mschnlnine.vo.llnwd.net/d1/ch9/1/8/3/0/5/4/VSTS08_ch9.wmv") }; this.Children.Add(videoChannel9); } }

CheckPoint:El constructor de la clase es el encargado de decorar a la ventana de edicin de cdigo con un nuevo visor de videos (basado en un MediaElement) y luego asociar al mismo la ruta de un video de Channel 9. En este caso un video de casi 20 minutos donde hago un recorrido por VSTS: Un paseo por Visual Studio Team System 2008. 8. Una vez agregado el decorador que en el margen del editor de cdigo agregar el visor de video, es necesario modificar la clase MarginFactory para que agregue el decorador en la seccin superior. El siguiente cdigo muestra un ejemplo de la versin original modificada. En la lnea 10 es posible ver como se define que el contenedor estar en la zona superior y tambin el color de fondo en naranja.
#region VS2010BookEditorMargin Factory /// <summary> /// Export a <see cref="IWpfTextViewMarginProvider"/>, which /// returns an instance of the margin for the editor /// to use. /// </summary> [Export(typeof(IWpfTextViewMarginProvider))] [Name("C9VideoViewerBar")] //Ensure that the margin occurs below the horizontal scrollbar [Order(After = PredefinedMarginNames.HorizontalScrollBar)] //Set the container to the bottom of the editor window [MarginContainer(PredefinedMarginNames.Top)] //Do this for all content types [ContentType("text")] [TextViewRole(PredefinedTextViewRoles.Interactive)] internal sealed class MarginFactory : IWpfTextViewMarginProvider { public IWpfTextViewMargin CreateMargin(IWpfTextViewHosttextViewHost, IWpfTextViewMargincontainerMargin) { return new C9VideoMargin(textViewHost.TextView); } } #endregion

9. Compilamos el proyecto para validar que no existan errores. 10. Una vez compilado el ejemplo, si se ejecuta el proyecto es posible ver cmo se levanta una nueva instancia de Visual Studio llamada entorno

Novedades en el IDE 11

experimental (Visual Studio Experimental Hive). Esta nueva instancia permite probar las extensiones y complementos que se crean para Visual Studio en un entorno diferente, y de esta forma no modificar el comportamiento de la instancia con la que estamos trabajando. 11. Utilizando la instancia experimental de pruebas de Visual Studio, crear un nuevo proyecto del tipo Class Library u otro que permita acceder a un editor de cdigo. 12. Abrir el editor de cdigo y ser posible ver en el editor de cdigo fuente, en la seccin superior comienza a pasar automticamente el video de Channel 9 con el fondo naranja que definimos en la clase C9VideoMargin, en la lnea 31.

Figura 8.- Ejemplo en ejecucin

2.2.- Tutorial: Trabajando con los nuevos tipos de seleccin en el IDE


El siguiente tutorial demuestra un ejemplo sobre las posibilidades que posee los tipos de seleccin en los editores de texto en Visual Studio 2010.

12 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

1. Abrir Visual Studio 2010. 2. Crear un nuevo proyecto de tipo Class Library en C#. 3. Renombrar la clase [Class1.cs] por [BoxSelectionAndMultiEdit.cs] 4. Modificar el cdigo de la clase [BoxSelectionAndMultiEdit] como demuestra el siguiente ejemplo:
class BoxSelectionAndMultiEdit { public readonly string Nombre; public readonly string Apellido; public readonly string EMail; }

CheckPoint: Supongamos que se desea modificar todos los campos para que no sean de solo lectura, es decir eliminar las sentencias readonly. 5. Posicionando el cursor del mouse sobre el primer readonly y presionando la tecla ALT, es posible seleccionar en modo Box todas las palabras readonly, como muestra la siguiente imagen.

Figura 9.- Seleccin en modo Box

6. Presionar la tecla [Delete] y esta accin eliminar el contenido de nuestra seleccin. 7. El cdigo fuente quedara como en la siguiente imagen:

Figura 10.- Cdigo editado

CheckPoint:Si por ejemplo, a todos los campos definidos se les desea agregar el prefijo [cliente], es posible realizar esta accin con los siguientes pasos.

Novedades en el IDE 13

8. Posicionar el cursor del mouse al comienzo de la letra N de Nombre y seleccionar en forma descendente todas las lneas. 9. La seleccin es lo que se conoce como Zero Selection y debe queda como en la siguiente imagen.

Figura 11.- Seleccin en modo Zero Line

10. A continuacin teclear la palabra cliente y la misma se agregar automticamente como prefijo de los campos de la clase.

Figura 12.- Edicin de texto multi lnea

CheckPoint: Finalmente si necesitamos agregar un comentario comn para los 3 campos, tambin podemos aprovechar las capacidades de BoxSelection y MultiEdit para realizar esta tarea. 11. Utilizando la capacidad de seleccin con la tecla ALT, seleccionar una columna 4 espacios despus de la definicin de los campos.

Figura 13.- Seleccin en modo Box

14 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

12. Con esta seleccin activa, teclear el comentario comn para todos los campos. Esta accin habilita la opcin de MultiEdit y crea el cdigo comn para todas las secciones como muestra la siguiente figura

Figura 14.- Insercin de comentarios multi lnea

3.- LA NUEVA START PAGE


Tengo que admitir que nunca fui muy amigo de la pgina de bienvenida de Visual Studio (Start Page a partir de este momento). Por un lado, me gustaba la idea de tener un lector de RSS junto al listado de proyectos recientes; pero siempre prefera configurar Visual Studio para que se inicie con el IDE vaco y yo luego vera que hacer dentro. Esto lo haca porque usualmente, el proyecto en el que trabajo no apareca en la lista de los 6 proyectos que muestra la Start Page en Visual Studio 2008, y para ver contenidos RSS utilizo otras herramientas.

Figura 15.- Start Page en Visual Studio 2008

Novedades en el IDE 15

En Visual Studio 2010 la nueva Start Page incorpora una serie de funcionalidades que realmente hacen que la misma sea prctica y til para ser utilizada. Lo primero que debemos agradecer es que si abrimos un proyecto desde la Start Page, una vez cargado un proyecto, la Start Page se cierra. Esto que parece algo trivial, es una accin que he visto automatizada en muchos desarrolladores en los ltimos aos: abrir un proyecto desde la Start Page y a continuacin cerrar la Start Page para comenzar a trabajar.

Figura16.-Start Page en Visual Studio 2010

Como casi todo dentro de Visual Studio 2010, existe la posibilidad de configurar el comportamiento de acuerdo al gusto del desarrollador, en este caso, esta opcin se puede modificar directamente desde las opciones que posee la propia Start Page, junto con la opcin de mostrar la Start Page al iniciar Visual Studio. La siguiente imagen muestra las opciones de configuracin que se pueden modificar en la Start Page.

Figura 17.- Modificando el comportamiento de la Start Page

16 Visual Studio 2010 .NET 4.0 y ALM - Actualzate desde la versin 2008

Otro detalle interesante, es que se ha organizado la misma para que en la seccin superior izquierda tengamos a mano las opciones ms corrientes como crear o abrir un proyecto, e inclusive se ha incorporado la opcin para conectarse a un servidor Team Foundation Server. Asimismo en el listado de proyectos recientes, es posible eliminar elementos del listado, o dejar anclados elementos que utilicemos frecuentemente para que aparezcan dentro de la misma. La siguiente imagen muestra como aparece en la Start Page, la posibilidad de anclar el proyecto, eliminarlo de la lista, abrir el proyecto o abrir el directorio donde se encuentra el proyecto.

Figura 18.- Editando elementos en la Start Page

Finalmente la seccin central de la Start Page, posee una serie de pestaas que presentan una evolucin al lector RSS de la Start Page de Visual Studio 2008, donde es posible encontrar accesos directos a tutoriales, novedades, etc.; organizados por categoras. Y todo esto es posible ya que la Start Page es una pgina WPF; con lo que las posibilidades de adaptacin y mejora son muy amplias. En otras palabras es posible modificar al gusto del desarrollador, el proyecto o una organizacin, el comportamiento y funcionalidades que se desean incluir en la misma en Visual Studio 2010.

3.1.- Tutorial: Personalizando la Start Page


El siguiente tutorial demuestra cmo realizar cambios sobre la Start Page en Visual Studio 2010 y como desplegar estos cambios para que sean visibles en el IDE de Visual Studio. Para esto se utiliza un proyecto de ejemplo incluido en el perfil de cada usuario que tiene los componentes bases de la Start Page que utiliza Visual Studio 2010. 1. Abrir Visual Studio 2010. 2. Abrir el proyecto de ejemplo de la Start Page que posee Visual Studio 2010. Por defecto est en la carpeta Mis Documentos de nuestro perfil de Windows, por ejemplo en [C:\Users\<user>\Documents\Visual Studio 10\StartPages].

También podría gustarte