Compartir a través de


Parámetros de plantilla

Utilizar parámetros en las plantillas, puede reemplazar los valores de las partes principales de la plantilla, como nombres de clase y espacios de nombres, cuando se crean instancias de la plantilla.Estos parámetros se reemplazan por el asistente de la plantilla que se ejecuta en segundo plano cuando el usuario hace clic en Aceptar en los cuadros de diálogo Nuevo proyecto o Agregar nuevo elemento.

Declarar y habilitar parámetros de plantilla

Los parámetros de plantilla se declaran en el formato $parámetro$.Por ejemplo:

  • $safeprojectname$

  • $guid1$

  • $guid5$

Para habilitar la substitución de parámetros en las plantillas

  1. En el archivo .vstemplate de la plantilla, busque el elemento de ProjectItem que corresponde al elemento para el que desea habilitar el reemplazo de parámetros.

  2. Establezca el atributo ReplaceParameters del elemento ProjectItem en true:

  3. En el archivo de código del elemento de proyecto, incluya los parámetros donde proceda.Por ejemplo, el parámetro siguiente especifica que se debe utilizar el nombre del proyecto seguro para el espacio de nombres en un archivo:

    namespace $safeprojectname$
    

Parámetros de plantilla reservados

La tabla siguiente muestra los parámetros de plantilla reservados que cualquier plantilla puede utilizar.

[!NOTA]

Los parámetros de plantilla distinguen entre mayúsculas y minúsculas.

Parámetro

Descripción

clrversion

Versión actual del Common Language Runtime (CLR).

GUID [1-10]

GUID utilizado para reemplazar el GUID del proyecto en un archivo de proyecto.Puede especificar hasta 10 GUID únicos (por ejemplo, guid1).

itemname

Nombre proporcionado por el usuario en el cuadro de diálogo Agregar nuevo elemento.

machinename

Nombre del equipo actual (por ejemplo, Equipo01).

projectname

Nombre proporcionado por el usuario en el cuadro de diálogo Nuevo proyecto.

registeredorganization

Valor de la clave del Registro de HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.

rootnamespace

Espacio de nombres raíz del proyecto actual.Este parámetro solo se aplica a las plantillas de elementos.

safeitemname

Nombre proporcionado por el usuario en el cuadro de diálogo Agregar nuevo elemento, tras quitar todos los caracteres no seguros y los espacios.

safeprojectname

Nombre proporcionado por el usuario en el cuadro de diálogo Nuevo proyecto, tras quitar todos los caracteres no seguros y los espacios.

time

Hora actual en el formato DD/MM/AAAA 00:00:00.

SpecifiedSolutionName

El nombre de la solución.

userdomain

Dominio del usuario actual.

username

Nombre de usuario actual.

webnamespace

Nombre del sitio web actual.Este parámetro se utiliza en la plantilla de formulario Web Forms para garantizar que los nombres de clase sean únicos.Si el sitio web está en el directorio raíz del servidor web, este parámetro de plantilla se resuelve como el directorio raíz del servidor web.

year

Año actual en formato AAAA.

Parámetros de plantilla personalizados

Puede especificar dispone de parámetros y valores de la plantilla, además de los parámetros reservados de plantilla predeterminados que se utilizan durante el reemplazo de parámetros. Para obtener más información, vea CustomParameters (Elemento, Plantillas de Visual Studio)

Ejemplo: Reemplazar nombres de archivos

Puede especificar nombres de archivo variables para los elementos de proyecto utilizando un parámetro con el atributo TargetFileName.Por ejemplo, podría especificar que el archivo .exe use el nombre del proyecto, especificado por $projectname$, como su nombre de archivo.

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

Ejemplo: Utilizar el nombre de proyecto para el nombre del espacio de nombres

Para utilizar el nombre del proyecto para el espacio de nombres en un archivo de clase de Visual C#, .cs, utilice la sintaxis siguiente:

#region Using directives

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

#endregion

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

                }
         }
}

En el archivo .vstemplate para la plantilla de proyecto, incluya el XML siguiente al hacer referencia al archivo Class1.cs:

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

Vea también

Otros recursos

Personalizar plantillas de proyectos y de elementos