Parámetros de plantilla

Es posible sustituir valores de la plantilla cuando se crea una instancia de ella. Para configurar esta funcionalidad, use parámetros de plantilla. Los parámetros de plantilla pueden usarse para sustituir valores como nombres de clase y espacios de nombres de la plantilla. El asistente para plantillas que se ejecuta en segundo plano cuando un usuario agrega un nuevo elemento o proyecto reemplaza estos parámetros.

Declaración y habilitación de parámetros de plantilla

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

  • $rootnamespace$

  • $guid1$

  • $guid5$

Habilitación de la sustitución de parámetros en las plantillas

  1. En el archivo .vstemplate de la plantilla, busque el elemento ProjectItem correspondiente al elemento para el que quiere 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 usa el espacio de nombres raíz para el espacio de nombres de un archivo:

    namespace $rootnamespace$
    

Parámetros de plantilla reservados

En la tabla siguiente se muestran los parámetros de plantilla reservados que se pueden usar en cualquier plantilla:

Parámetro Descripción
clrversion Versión actual del Common Language Runtime (CLR).
ext_* Agrega el prefijo ext_ a cualquier parámetro para hacer referencia a las variables de la plantilla principal. Por ejemplo, ext_safeprojectname.
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 El nombre del archivo en el que se usa el parámetro.
machinename Nombre del equipo actual (por ejemplo, Equipo01).
projectname Nombre especificado por el usuario al crear el proyecto. Este parámetro solo se aplica a las plantillas de proyectos.
registeredorganization Valor de la clave del Registro de HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.
rootnamespace Espacio de nombres raíz del proyecto actual seguido de la subcarpeta del elemento actual, con barras diagonales reemplazadas por puntos.
defaultnamespace Espacio de nombres raíz del proyecto actual.
safeitemname Igual que itemname, pero con todos los caracteres no seguros y los espacios reemplazados por caracteres de subrayado.
safeitemrootname Igual a safeitemname.
safeprojectname Nombre especificado por el usuario al crear el proyecto, tras quitar todos los caracteres no seguros y los espacios. Este parámetro solo se aplica a las plantillas de proyectos.
targetframeworkversion Versión actual de .NET Framework de destino.
time Hora actual en un formato que se basa en la configuración de usuario de Windows. Un ejemplo de formato de hora es DD/MM/AAAA 00:00:00.
specifiedsolutionname Nombre de la solución. Cuando se activa "Crear directorio para la solución", specifiedsolutionname tiene el nombre de la solución. Cuando no se activa "Crear directorio para la solución", specifiedsolutionname está en blanco.
userdomain Dominio del usuario actual.
username Nombre de usuario actual.
webnamespace Nombre del sitio web actual. Este parámetro se usa en la plantilla de formulario web 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.

Nota

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

Parámetros de plantilla personalizados

Puede especificar sus propios parámetros y valores de plantilla, además de los parámetros de plantilla reservados predeterminados que se usan durante el reemplazo de parámetros. Para obtener más información, consulte CustomParameters element (Visual Studio templates) (Elemento CustomParameters (plantillas de Visual Studio)).

Ejemplo: Uso del nombre del proyecto para un nombre de archivo

Puede especificar nombres de archivo variables para los elementos de proyecto usando un parámetro en el atributo TargetFileName.

En el ejemplo siguiente se especifica que el nombre de un archivo ejecutable usa el nombre del proyecto, especificado por $projectname$.

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

Ejemplo: Uso del nombre de proyecto seguro para el nombre del espacio de nombres

Para usar el nombre del proyecto seguro para el espacio de nombres en un archivo de clase de C#, use la sintaxis siguiente:

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

En el archivo .vstemplate de la plantilla de proyecto, incluya el atributo ReplaceParameters="true" al hacer referencia al archivo:

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

Consulte también