Parâmetros de modelo

Usando parâmetros em seus modelos, você pode substituir os valores de partes principais de modelo, como nomes de classes e namespaces, quando o modelo é instanciado.Esses parâmetros são substituídos pelo assistente de modelo que executa em segundo plano quando um usuário clica OK nas caixas de diálogo New Project e Add New Item.

Declarando e ativando parâmetros de modelo

Parâmetros de modelo são declarados no formato $parameter$.Por exemplo:

  • $safeprojectname$

  • $guid1$

  • $guid5$

Para ativar substituição de parâmetro nos modelos

  1. No arquivo .vstemplate do modelo, localize o elemento de ProjectItem que corresponde ao item que você deseja ativar substituição de parâmetro.

  2. Defina o atributo ReplaceParameters do elemento ProjectItem como true.

  3. No arquivo de código para o item de projeto, inclua parâmetros no código onde for apropriado.Por exemplo, o parâmetro a seguir especifica que o nome do projeto seguro seja usado para o namespace no arquivo:

    namespace $safeprojectname$
    

Parâmetros reservados do modelo

A tabela a seguir lista os parâmetros reservados do modelo que podem ser usados por qualquer modelo.

ObservaçãoObservação

Os parâmetros do modelo diferenciam maiúsculas de minúsculas.

Parâmetro

Descrição

clrversion

Versão atual do Common Language Runtime (CLR).

GUID [1-10]

Um GUID usado para substituir o GUID de projeto em um arquivo de projeto.Você pode especificar até 10 GUIDs exclusivos (por exemplo, guid1)guid1).

itemname

O nome fornecido pelo usuário na caixa de diálogo Add New Item.

machinename

O nome do computador atual (por exemplo, Computer01).

projectname

O nome fornecido pelo usuário na caixa de diálogo New Project.

registeredorganization

O valor da chave do registro HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.

rootnamespace

O namespace raiz do projeto atual.Este parâmetro se aplica somente a modelos de item.

safeitemname

O nome fornecido pelo usuário na caixa de diálogo Add New Item, com todos os caracteres inseguros e espaços removidos.

safeprojectname

O nome fornecido pelo usuário na caixa de diálogo New Project, com todos os caracteres inseguros e espaços removidos.

time

A hora atual no formato DD/MM/YYYY 00:00:00.

SpecifiedSolutionName

O nome da solução.

userdomain

O domínio atual do usuário.

username

O nome de usuário atual.

webnamespace

O nome do atual site Web.Este parâmetro é usado no modelo de forma Web para garantir nomes exclusivos classe.Se o site Web está na diretório raiz do servidor Web, esse parâmetro do modelo resolve para o diretório raiz da Web Server.

year

O ano atual no formato YYYY.

Parâmetros personalizados do modelo

Você pode especificar seus próprios parâmetros e valores de modelo, além dos parâmetros reservados do modelo padrão que são usados durante a substituição de parâmetro. Para obter mais informações, consulte Elemento de CustomParameters (modelos Visual Studio)

Exemplo: Substituindo nomes de arquivos

Você pode especificar nomes de arquivo variáveis para itens de projeto usando um parâmetro com o atributo TargetFileName.Por exemplo, você poderia especificar que o arquivo .exe usa o nome do projeto, especificado por $projectname$, como o nome de arquivo.

<TemplateContent>
    <ProjectItem
        ReplaceParameters="true"
        TargetFileName="$projectname$.exe">
            File1.exe
    </ProjectItem>
      ...
</TemplateContent>

Exemplo: Usando o nome do projeto para o nome do namespace

Para usar o nome do projeto para o nome do namespace em um arquivo de classe do Visual C#, Class1.cs, use a seguinte sintaxe:

#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace $safeprojectname$
{
    public class Class1
        {
            public Class1()
                {

                }
         }
}

No arquivo .vstemplate para o modelo de projeto, inclua o seguinte XML ao fazer referência ao arquivo Class1.cs:

<TemplateContent>
    <ProjectItem ReplaceParameters="true">
        Class1.cs
    </ProjectItem>
    ...
</TemplateContent>

Consulte também

Outros recursos

Personalizando modelos de projeto e Item