Compartir a través de


Empaquetar e implementar extensiones personalizadas de My (Visual Basic)

Visual Basic proporciona una forma sencilla de implementar las extensiones personalizadas de espacio de nombres de My mediante plantillas de Visual Studio. Si va a crear una plantilla de proyecto para la que las extensiones de My son una parte integral del nuevo tipo de proyecto, puede incluir simplemente el código personalizado de la extensión de My con el proyecto cuando exporte la plantilla. Para obtener más información sobre la exportación de plantillas de proyecto, vea Cómo: Crear plantillas de proyecto.

Si la extensión personalizada de My se encuentra en un solo archivo de código, puede exportar el archivo como una plantilla de elementos que los usuarios pueden agregar a cualquier tipo de proyecto de Visual Basic. Después, puede personalizar la plantilla de elemento para habilitar un comportamiento y capacidades adicionales de la extensión personalizada de My en un proyecto de Visual Basic. Dichas capacidades incluyen las siguientes:

  • Permitir a los usuarios administrar la extensión personalizada de My desde la página Extensiones de My del Diseñador de proyectos de Visual Basic.

  • Agregar automáticamente la extensión personalizada de My cuando se agrega a un proyecto una referencia a un ensamblado especificado.

  • Ocultar la plantilla de elemento de extensión de My en el cuadro de diálogo Agregar elemento para que no se incluya en la lista de elementos de proyecto.

En este tema se describe cómo empaquetar una extensión personalizada de My como una plantilla de elemento oculta que se puede administrar desde la página Extensiones de My del Diseñador de proyectos de Visual Basic. La extensión personalizada de My también se puede agregar automáticamente cuando se agrega a un proyecto una referencia a un ensamblado especificado.

Creación de una extensión de espacio de nombres My

El primer paso para crear un paquete de implementación para una extensión personalizada de My es crear la extensión como un solo archivo de código. Para obtener información sobre cómo crear extensiones personalizadas de My, vea Extender el espacio de nombres My en Visual Basic.

Exportación de una extensión de espacio de nombres My como una plantilla de elementos

Después de tener un archivo de código que incluya la extensión de espacio de nombres My, puede exportar el archivo de código como una plantilla de elementos de Visual Studio. Para obtener instrucciones sobre cómo exportar un archivo como una plantilla de elemento de Visual Studio, vea Cómo: Crear plantillas de elementos.

Nota

Si la extensión de espacio de nombres My tiene una dependencia en un ensamblado determinado, puede personalizar la plantilla de elemento para instalar automáticamente la extensión de espacio de nombres My cuando se agregue una referencia a ese ensamblado. Como resultado, le interesa excluir esa referencia de ensamblado al exportar el archivo de código como una plantilla de elementos de Visual Studio.

Personalización de la plantilla de elemento

Puede habilitar la plantilla de elemento que se va a administrar desde la página Extensiones de My del Diseñador de proyectos de Visual Basic. También puede habilitar la plantilla de elemento para que se agregue automáticamente cuando se agrega a un proyecto una referencia a un ensamblado especificado. Para habilitar estas personalizaciones, agregará a la plantilla un nuevo archivo, denominado CustomData y, después, agregará un nuevo elemento al XML en el archivo .vstemplate.

Adición del archivo CustomData

El archivo CustomData es un archivo de texto que tiene la extensión de nombre de archivo .CustomData (el nombre de archivo se puede establecer en cualquier valor significativo para la plantilla) y que contiene XML. El XML en el archivo CustomData indica a Visual Basic que incluya su extensión de My cuando los usuarios usen la página Extensiones de My del Diseñador de proyectos de Visual Basic. Opcionalmente, puede agregar el atributo <AssemblyFullName> al XML del archivo CustomData. Esto indica a Visual Basic que instale automáticamente la extensión personalizada de My cuando se agregue al proyecto una referencia a un ensamblado determinado. Puede usar cualquier editor de texto o editor XML para crear el archivo CustomData y, después, agregarlo a la carpeta comprimida de la plantilla de elemento (archivo .zip).

Por ejemplo, el código XML siguiente muestra el contenido de un archivo CustomData que agregará el elemento de plantilla a la carpeta Extensiones de My de un proyecto Visual Basic cuando se agregue al proyecto una referencia al ensamblado Microsoft.VisualBasic.PowerPacks.vs.dll.

<VBMyExtensionTemplate
    ID="Microsoft.VisualBasic.Samples.MyExtensions.MyPrinterInfo"
    Version="1.0.0.0"
    AssemblyFullName="Microsoft.VisualBasic.PowerPacks.vs"
/>

El archivo CustomData contiene un elemento <VBMyExtensionTemplate> que tiene los atributos que se muestran en la tabla siguiente.

Atributo Descripción
ID Obligatorio. Identificador único para la extensión. Si la extensión que tiene este identificador ya se ha agregado al proyecto, no se le pedirá al usuario que la vuelva a agregar.
Version Obligatorio. Número de versión para la plantilla de elemento.
AssemblyFullName Opcional. Nombre de ensamblado. Cuando se agrega al proyecto una referencia a este ensamblado, se le pedirá al usuario que agregue la extensión de My de esta plantilla de elemento.

Incorporación del elemento <CustomDataSignature> al archivo .vstemplate

Para identificar la plantilla de elemento de Visual Studio como una extensión de espacio de nombres My, también debe modificar el archivo .vstemplate para la plantilla de elemento. Debe agregar un elemento <CustomDataSignature> al elemento <TemplateData>. El elemento <CustomDataSignature> debe contener el texto Microsoft.VisualBasic.MyExtension, como se muestra en el ejemplo siguiente.

<CustomDataSignature>Microsoft.VisualBasic.MyExtension</CustomDataSignature>

Los archivos de una carpeta comprimida (archivo .zip) no se pueden modificar directamente. Debe copiar el archivo .vstemplate de la carpeta comprimida, modificarlo y, después, reemplazar el archivo .vstemplate de la carpeta comprimida con la copia actualizada.

El ejemplo siguiente muestra el contenido completo de un archivo .vstemplate al que se le ha agregado el elemento <CustomDataSignature>.

<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Item">
  <TemplateData>
    <DefaultName>MyCustomExtensionModule.vb</DefaultName>
    <Name>MyPrinterInfo</Name>
    <Description>Custom My Extensions Item Template</Description>
    <ProjectType>VisualBasic</ProjectType>
    <SortOrder>10</SortOrder>
    <Icon>__TemplateIcon.ico</Icon>
    <CustomDataSignature      >Microsoft.VisualBasic.MyExtension</CustomDataSignature>
  </TemplateData>
  <TemplateContent>
    <References />
    <ProjectItem SubType="Code"
                 TargetFileName="$fileinputname$.vb"
                 ReplaceParameters="true"
     >MyCustomExtensionModule.vb</ProjectItem>
  </TemplateContent>
</VSTemplate>

Instalación de la plantilla

Para instalar la plantilla, puede copiar la carpeta comprimida (archivo .zip) en la carpeta de plantillas de elemento de Visual Basic. De manera predeterminada las plantillas de elemento de usuario están en %USERPROFILE%\Documentos\Visual Studio <versión>\Templates\ItemTemplates\Visual Basic. Como alternativa, puede encontrar la plantilla como un archivo del Instalador de Visual Studio ( .vsi).

Vea también