[VS11] Los nuevos VSIX

Hola!

Seguro que muchos estáis ya probando la beta de Visual Studio 11. Yo también estoy sufriendo la atrofia en los conos de mi retina en detrimento de mis bastones, en claro estado de overflow… En el caso de que vayamos a probar los paquetes de extensión para Visual Studio (VSIX) lo primero es descargarnos el SDK de Visual Studio 11 Beta. Una vez instalado podemos seleccionar el tipo de proyecto "Visual Studio Package" bajo la categoría de "Other Project Types" en el menú "New Project":

 

clip_image002

 

Al igual que en Visual Studio 2010, lo primero que nos encontramos es un wizard para configurar el paquete, eligiendo el lenguaje a usar, namespace, proyectos de test, etc. Una vez finalizada esta preconfiguración Visual Studio generará nuestro paquete de extensión y nos mostrará su correspondiente manifiesto:

 

image

 

Podemos comprobar que aunque el estilo del diseñador del manifiesto ha cambiado, así como el namespace de su correspondiente xml, los elementos que se describen son los mismos. Tal como se definía en los paquetes de VS2010

imageimage

 

Se siguen definiendo los metadatos del paquete, las versiones de Visual Studio compatibles, las referencias que requiere el paquete y los artefactos que se van a instalar. En cuanto a esto último, el tipo de contenido instalable con un paquete, sí han habido pequeños cambios:

imageimage

 

Se puede ver que ya no disponemos de los elementos “Custom Extension Type” y “Template Wizard”. El primero de ellos nos permitía crear extensiones VSIX para Visual Studio 2010 que a su vez podían ser extendidas por otras extensiones VSIX. Es decir, con esta opción podíamos crear paquetes VSIX que consumían otros paquetes VSIX, ambos manejados por el mecanismo de extensibilidad de Visual Studio, el Extension Manager. En el caso de las “Template Wizard”, nos permitían personalizar la creación de un nuevo proyecto o solución de Visual Studio a partir de plantillas de proyecto. Es el mecanismo que usa, por ejemplo, el propio proyecto de creación de VS Packages para que el usuario configure a modo de wizard el lenguaje del paquete, su namespace, sus proyectos de test, etc.

 

En escenarios de migración, la teoría dice que el asistente de conversión debería hacer el trabajo por nosotros. Sin embargo, para mí lo más rápido y efectivo ha sido crear un nuevo proyecto de VSIX vacío desde el VS11 y migrar el contenido. Pero claro, ¿qué hacemos si tenemos contenido de tipo “Custom Extension Type” o “Template Wizard”?

 

Bueno, el caso de las “Custom Extension Type”, se trata de un escenario bastante particular que tendremos que resolver de una forma mucho más manual si queremos compatibilizar con VS11. En el caso de usar “Template Wizard”, es mucho más sencillo. Simplemente si teníamos un paquete VSIX que usaba “Template Wizard”, sustituimos el tipo de contenido por “Assembly”, con la referencia al ensamblado donde se encuentra la clase que implementa “Microsoft.VisualStudio.TemplateWizard.IWizard”, y listo, la “Template Wizard” funcionará en VS11.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *