Compartilhar via


Parâmetros de modelo

Todos os modelos oferecem suporte a substituição de parâmetros para ativar substituição de parâmetros chave, como nomes de classe 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 ProjectItem que corresponde ao item para o qual 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çã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).

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.Esse parâmetro é usado para substituir o namespace em um item sendo adicionado a um projeto.

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.

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

Além dos parâmetros reservados do modelo que serão usados automaticamente durante a substituição de parâmetro, você pode especificar seus próprios parâmetros de modelo e valores.Para obter mais informações, consulte Como: Passar parâmetros personalizados para modelos.

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

Modelos Visual Studio