Compartilhar via


Empacotar e implantar Minhas extensões personalizadas (Visual Basic)

O Visual Basic oferece um jeito fácil de implantar as extensões de namespace personalizadas My usando modelos do Visual Studio. Se você estiver criando um modelo de projeto para o qual as extensões My são parte integrante do novo tipo de projeto, basta incluir o código de extensão My personalizado com o projeto ao exportar o modelo. Para obter mais informações sobre como exportar modelos de projeto, confira Como criar modelos de projeto.

Se a extensão My personalizada estiver em um arquivo de código único, você poderá exportá-lo como um modelo de item que os usuários podem adicionar a qualquer tipo de projeto do Visual Basic. Você pode personalizar o modelo de item para habilitar recursos e comportamento adicionais para a extensão My personalizada em um projeto do Visual Basic. Essas funcionalidades incluem o seguinte:

  • Permitir que os usuários gerenciem a extensão My personalizada na página Minhas extensões do Designer de Projeto do Visual Basic.

  • Adicionar automaticamente a extensão My personalizada quando uma referência a um assembly especificado é adicionada a um projeto.

  • Ocultar o modelo de item de extensão My na caixa de diálogo Adicionar item para que não seja incluído na lista de itens do projeto.

Este tópico discute como empacotar uma extensão My personalizada como um modelo de item oculto que pode ser gerenciado na página Minhas extensões do Designer de Projeto do Visual Basic. A extensão My personalizada também pode ser adicionada automaticamente quando uma referência a um assembly especificado é adicionada a um projeto.

Criar uma extensão Meu namespace

A primeira etapa na criação de um pacote de implantação para uma extensão personalizada My é criar a extensão como um arquivo de código único. Para obter detalhes e orientações sobre como criar uma extensão My personalizada, confira Estender o Meu Namespace no Visual Basic.

Exportar uma extensão do Meu namespace como um modelo de item

Depois de ter um arquivo de código que inclui a extensão de namespace My, você pode exportar o arquivo de código como um modelo de item do Visual Studio. Para obter instruções sobre como exportar um arquivo como um modelo de item do Visual Studio, confira Como criar modelos de item.

Observação

Se a extensão de namespace My tiver uma dependência de um assembly específico, você poderá personalizar o modelo de item para instalar automaticamente a extensão de namespace My quando uma referência a esse assembly for adicionada. Como resultado, você desejará excluir essa referência de assembly ao exportar o arquivo de código como um modelo de item do Visual Studio.

Personalizar o modelo de item

Você pode permitir que o modelo de item seja gerenciado na página Minhas extensões do Designer de Projeto do Visual Basic. Você também pode permitir que o modelo de item seja adicionado automaticamente quando uma referência a um assembly especificado for adicionada a um projeto. Para habilitar essas personalizações, você adicionará um novo arquivo, chamado arquivo CustomData, ao modelo e, em seguida, adicionará um novo elemento ao XML ao arquivo .vstemplate.

Adicionar o arquivo CustomData

O arquivo CustomData é um arquivo de texto que tem uma extensão de nome de arquivo de .CustomData (o nome do arquivo pode ser definido para qualquer valor significativo para o modelo) e que contém XML. O XML no arquivo CustomData instrui o Visual Basic a incluir a extensão My quando os usuários usarem a página Minhas extensões do Designer de Projeto do Visual Basic. Opcionalmente, você pode adicionar o atributo <AssemblyFullName> ao XML do arquivo CustomData. Isso instrui o Visual Basic a instalar automaticamente a extensão My personalizada quando uma referência a um determinado assembly é adicionada ao projeto. Você pode usar qualquer editor de texto ou editor de XML para criar o arquivo CustomData e adicioná-lo à pasta compactada do modelo de item (arquivo .zip).

Por exemplo, o XML a seguir mostra o conteúdo de um arquivo CustomData que adicionará o item de modelo à pasta Minhas Extensões de um projeto do Visual Basic quando uma referência ao assembly Microsoft.VisualBasic.PowerPacks.Vs.dll é adicionada ao projeto.

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

O arquivo CustomData contém um elemento <VBMyExtensionTemplate> que possui atributos conforme listado na tabela a seguir.

Atributo Descrição
ID Obrigatórios. Um identificador exclusivo para a extensão. Se a extensão com essa ID já tiver sido adicionada ao projeto, o usuário não será solicitado a adicioná-la novamente.
Version Obrigatórios. Um número de versão para o modelo de item.
AssemblyFullName Opcional. Um nome de assembly. Quando uma referência a este assembly é adicionada ao projeto, o usuário será solicitado a adicionar a extensão My deste modelo de item.

Adicionar o elemento <CustomDataSignature> ao arquivo .vstemplate

Para identificar o modelo de item do Visual Studio como uma extensão de namespace My, você também deve modificar o arquivo .vstemplate para o modelo de item. Você deve adicionar um elemento <CustomDataSignature> ao <TemplateData>. O elemento <CustomDataSignature> deve conter o texto Microsoft.VisualBasic.MyExtension, conforme mostrado no exemplo a seguir.

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

Você não pode modificar arquivos em uma pasta compactada (arquivo .zip) diretamente. Você deve copiar o arquivo .vstemplate da pasta compactada, modificá-lo e substituir o arquivo .vstemplate na pasta compactada pela cópia atualizada.

O exemplo a seguir mostra o conteúdo de um arquivo .vstemplate que tem o elemento <CustomDataSignature> adicionado.

<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>

Instalar o modelo

Para instalar o modelo, você pode copiar a pasta compactada (arquivo .zip) para a pasta de modelos de item do Visual Basic. Por padrão, os modelos de item do usuário estão localizados em %USERPROFILE%\Documents\Visual Studio <Version>\Templates\ItemTemplates\Visual Basic. Como alternativa, você pode publicar o modelo como um arquivo do Instalador do Visual Studio (.vsi).

Confira também