Compartilhar via


Como: criar modelos multiprojetos

Modelos de multiprojetos atuam como contêineres para dois ou mais projetos.Quando um projeto baseado em um multi -projetomodelo é criado a partir do Novo projetocaixa de diálogo, cada projeto do modelo é adicionado à solução.

Um multi -projeto modelo deve incluir os itens a seguir compactados em um.arquivo zip:

  • Um arquivo .vstemplate raiz para o modelo do multiprojeto inteiro.Este arquivo. vstemplate de raiz contém os metadados que o Novo projetocaixa de diálogo exibe e especifica onde encontrar os arquivos. vstemplate para os projetos neste modelo. Esse arquivo deve estar localizado na raiz do arquivo .zip.

  • Uma ou mais pastas que contêm os arquivos necessários para um projetocompleto domodelo. Isso inclui todos os arquivos de código para o projetoe também um arquivo. vstemplate para o projeto.

Por exemplo, um multi -projeto modelo .arquivo zip que tem dois projetos poderia ter os seguintes arquivos e diretórios:

MultiProjectTemplate.vstemplate

\Project1\Project1.vstemplate

\Project1\Project1.vbproj

\Project1\Class.vb

\Project2\Project2.vstemplate

\Project2\Project2.vbproj

\Project2\Class.vb

O arquivo. vstemplate raiz para um multi -projeto modelo difere de um únicoprojeto modelo das seguintes maneiras:

  • O atributo Type do elemento VSTemplate contém o valor ProjectGroup.Por exemplo:

    <VSTemplate Version="2.0.0" Type="ProjectGroup"
        xmlns="https://schemas.microsoft.com/developer/vstemplate/2005">
    
  • O TemplateContent elemento contém um ProjectCollection elemento que possui um ou mais ProjectTemplateLink elementos que definem os caminhos para os arquivos. vstemplate dos projetos incluídos.Por exemplo:

    <TemplateContent>
        <ProjectCollection>
            <ProjectTemplateLink>
                Project1\Project1.vstemplate
            </ProjectTemplateLink>
            <ProjectTemplateLink>
                Project2\Project2.vstemplate
            </ProjectTemplateLink>
        </ProjectCollection>
    </TemplateContent>
    

Os modelos de multiprojetos também se comportam de maneira diferente que os modelos normais.Modelos de multiprojetos têm as seguintes características exclusivas:

  • Projetos individuais em um modelo de multiprojeto não podem ter nomes atribuídos pela caixa de diálogo New Project.Em vez disso, use o atributo ProjectName no elemento ProjectTemplateLink para especificar o nome para cada projeto.Para mais informações, consulte o primeiro exemplo na seção a seguir.

  • Multi - modelos deprojeto podem conter projetos escritos em idiomas diferentes, mas o próprio inteiro modelo só pode ser colocado em uma categoria , usando o ProjectType elemento.

Para criar um modelo de multiprojeto

  1. Crie os projetos a serem incluídos no modelo de multiprojeto.

  2. Crie arquivos. vstemplate para cada projeto.Para mais informações, consulte Como: criar modelos de projeto.

  3. Crie um arquivo. vstemplate de raiz que contém os metadados para o multi -projeto modelo.Para mais informações, consulte o primeiro exemplo na seção a seguir.

  4. Selecione os arquivos e pastas a serem incluídos no seu modelo, a seleçãocom o botão direito, clique em Enviar parae, em seguida, clique em pasta compactada (zipada).Os arquivos e as pastas são compactados em um arquivo .zip.

  5. Coloque o arquivo de modelo . zip na Visual Studiodiretório demodelo de projeto. Por padrão, esse diretório é \My Documents\Visual Studio versão\Templates\ProjectTemplates\.

Exemplo

Este exemplo mostra um arquivo. vstemplateraiz básico multi -projeto. Nesse exemplo, o modelo contém dois projetos, My Windows Application e My Class Library.O atributo ProjectName no elemento ProjectTemplateLink define o nome Visual Studio para atribuir este projeto.Se o atributo ProjectName não existir, o nome do arquivo .vstemplate é usado como o nome do projeto.

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="https://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>Multi-Project Template Sample</Name>
        <Description>An example of a multi-project template</Description>
        <Icon>Icon.ico</Icon>
        <ProjectType>VisualBasic</ProjectType>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
            <ProjectTemplateLink ProjectName="My Windows Application">
                WindowsApp\MyTemplate.vstemplate
            </ProjectTemplateLink>
            <ProjectTemplateLink ProjectName="My Class Library">
                ClassLib\MyTemplate.vstemplate
            </ProjectTemplateLink>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

Este exemplo usa o elemento SolutionFolder para dividir os projetos em dois grupos, Math Classes e Graphics Classes.O modelo contém quatro projetos, dois dos quais são colocados na pasta de cada solução.

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="https://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>Multi-Project Template Sample</Name>
        <Description>An example of a multi-project template</Description>
        <Icon>Icon.ico</Icon>
        <ProjectType>VisualBasic</ProjectType>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
            <SolutionFolder Name="Math Classes">
                <ProjectTemplateLink ProjectName="MathClassLib1">
                    MathClassLib1\MyTemplate.vstemplate
                </ProjectTemplateLink>
                <ProjectTemplateLink ProjectName="MathClassLib2">
                    MathClassLib2\MyTemplate.vstemplate
                </ProjectTemplateLink>
            </SolutionFolder>
            <SolutionFolder Name="Graphics Classes">
                <ProjectTemplateLink ProjectName="GraphicsClassLib1">
                    GraphicsClassLib1\MyTemplate.vstemplate
                </ProjectTemplateLink>
                <ProjectTemplateLink ProjectName="GraphicsClassLib2">
                    GraphicsClassLib2\MyTemplate.vstemplate
                </ProjectTemplateLink>
            </SolutionFolder>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

Consulte também

Tarefas

Como: criar modelos de projeto

Referência

Referência do esquema de modelo do Visual Studio

Referência do esquema de modelo do Visual Studio

Elemento de SolutionFolder (modelos Visual Studio)

Elemento de ProjectTemplateLink (modelos Visual Studio)

Conceitos

Introdução aos modelos de Visual Studio