Parametri del modello

Quando viene creata un'istanza di modello, è possibile sostituire i valori nel modello. Per configurare questa funzionalità, usare parametri del modello. Parametri del modello è utilizzabile per sostituire i valori, ad esempio i nomi della classe e gli spazi dei nomi nel modello. La creazione guidata del modello che viene eseguito in background quando un utente aggiunge un nuovo elemento o progetto sostituisce questi parametri.

Dichiarare e abilitare i parametri di modello

I parametri di modello vengono dichiarati nel formato $parametro$. Ad esempio:

  • $rootnamespace$

  • $guid1$

  • $guid5$

Abilitare la sostituzione dei parametri nei modelli

  1. Nel file .vstemplate del modello individuare l'elemento ProjectItem che corrisponde all'elemento per il quale si vuole abilitare la sostituzione dei parametri.

  2. Impostare l'attributo ReplaceParameters dell'elemento ProjectItem su true.

  3. Includere i parametri nella posizione appropriata nel file di codice per l'elemento del progetto. Ad esempio, il parametro seguente specifica che lo spazio dei nomi radice viene usato per lo spazio dei nomi in un file:

    namespace $rootnamespace$
    

Parametri di modello riservati

La tabella seguente elenca i parametri di modello riservati che possono essere usati da qualsiasi modello:

Parametro Descrizione
clrversion Versione corrente di Common Language Runtime (CLR).
ext_* Aggiungere il prefisso ext_ a tutti i parametri per fare riferimento alle variabili del modello padre. Ad esempio: ext_safeprojectname.
guid[1-10] GUID usato per sostituire il GUID del progetto in un file di progetto. È possibile specificare fino a 10 GUID univoci, ad esempio guid1.
itemname Nome del file in cui viene usato il parametro.
machinename Nome del computer corrente, ad esempio Computer01.
projectname Nome specificato dall'utente quando è stato creato il progetto. Questo parametro si applica solo ai modelli di progetto.
registeredorganization Valore della chiave del Registro di sistema da HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization.
rootnamespace Spazio dei nomi radice del progetto corrente seguito dalla sottocartella dell'elemento corrente, con barre sostituite da punti.
defaultnamespace Spazio dei nomi radice del progetto corrente.
safeitemname Uguale a itemname ma con tutti i caratteri e gli spazi non sicuri sostituiti da caratteri di sottolineatura.
safeitemrootname Uguale a safeitemname.
safeprojectname Nome specificato dall'utente quando è stato creato il progetto con tutti i caratteri non sicuri e gli spazi rimossi. Questo parametro si applica solo ai modelli di progetto.
Targetframeworkversion Versione corrente di .NET Framework di destinazione.
Ora Ora corrente in un formato basato sulle impostazioni utente di Windows. Un esempio di formato ora è GG/MM/AAAA 00:00:00.00.
specifiedsolutionname Nome della soluzione. Quando l'opzione per creare una directory di soluzione è selezionata, specifiedsolutionname è il nome della soluzione. Quando l'opzione per creare una directory di soluzione non è selezionata, specifiedsolutionname è vuoto.
userdomain Dominio dell'utente corrente.
username Nome dell'utente corrente.
webnamespace Nome del sito Web corrente. Questo parametro viene usato nel modello di modulo Web per garantire che i nomi delle classi siano univoci. Se il sito Web si trova nella directory radice del server Web, questo parametro di modello viene risolto nella directory radice del server Web.
year L'anno corrente nel formato AAAA.

Nota

I parametri di modello fanno distinzione tra maiuscole e minuscole.

Parametri di modello personalizzati

Oltre ai parametri di modello riservati predefiniti usati durante la sostituzione dei parametri, è possibile specificare i propri valori e i propri parametri di modello. Per altre informazioni, vedere Elemento CustomParameters (modelli di Visual Studio).

Esempio: usare il nome del progetto per un nome file

È possibile specificare nomi di file variabili per gli elementi del progetto usando un parametro nell'attributo TargetFileName.

L'esempio seguente specifica che il nome di un file eseguibile usi il nome del progetto, specificato da $projectname$.

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

Esempio: usare il nome di progetto sicuro per il nome dello spazio dei nomi

Per usare il nome di progetto sicuro per lo spazio dei nomi in un file di classe C#, usare la sintassi seguente:

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

Nel file .vstemplate del modello di progetto includere l'attributo ReplaceParameters="true" quando si fa riferimento al file:

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

Vedi anche