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
Nel file .vstemplate del modello individuare l'elemento
ProjectItem
che corrisponde all'elemento per il quale si vuole abilitare la sostituzione dei parametri.Impostare l'attributo
ReplaceParameters
dell'elementoProjectItem
sutrue
.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. Se "Inserisci soluzione e progetto nella stessa directory" è deselezionato, 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>