Share via


Plantillas con varias implementaciones de IWizard

Actualización: noviembre 2007

En las versiones de Visual Studio anteriores a Visual Studio 2008, las plantillas sólo admitían una implementación de IWizard. Visual Studio 2008 presenta una nueva característica, conocida como "encadenamiento", que permite que una sola plantilla tenga varias implementaciones de IWizard independientes. A estas implementaciones se les llama secuencialmente, lo que permite crear plantillas con una funcionalidad más eficaz y flexible.

Detalles de la implementación

Se invoca un asistente de VsTemplate implementado por Microsoft para procesar una plantilla mediante la lectura de su archivo .vstemplate. VsTemplate puede enumerar uno o varios ensamblados que tengan una implementación de IWizard a los que se llamará para participar en el procesamiento de la plantilla. Para sacar partido del encadenamiento, todos los asistentes deben aparecer en el archivo .xml de la plantilla en el orden en el que se les debe llamar.

Un objeto Dictionary puede actuar como lista de reemplazo de parámetros habilitando una plantilla para pasar parámetros a una implementación de IWizard y habilitando una implementación de IWizard para que pase parámetros a otra. IWizard puede guardar una referencia al objeto Dictionary que se pasa a RunStarted. Los cambios realizados por IWizard en las devoluciones de llamadas de notificación se conservan.

Los parámetros de reemplazo (como $MyVariable) tienen un ámbito global y se puede obtener acceso a ellos desde cualquier IWizard. Asegúrese de asignar un nombre único a las variables de reemplazo que no desee que utilice o cambie accidentalmente otro elemento IWizard. Se recomienda documentar cualquier parámetro de reemplazo para sus asistentes, a fin de que otros usuarios sepan para qué se utilizan.

IWizard contiene una propiedad booleana denominada ShouldAddItem. Esta propiedad notifica a un asistente si debe agregar los archivos indicados. Si ShouldAddItem se establece en false, ninguno de los asistentes que siguen al asistente actual cargará el elemento.

Vea también

Tareas

Cómo: Sustituir parámetros en una plantilla

Cómo: Utilizar los asistentes con las plantillas de proyectos