Vorlagenparameter
Alle Vorlagen unterstützen Parameterersetzungen, um beim Instanziieren der Vorlage die Ersetzung von Schlüsselparametern wie Klassennamen und Namespaces zu ermöglichen. Diese Parameter werden durch den Vorlagen-Assistenten ersetzt, der im Hintergrund ausgeführt wird, wenn ein Benutzer in den Dialogfeldern Neues Projekt oder Neues Element hinzufügen auf OK klickt.
Deklarieren und Aktivieren von Vorlagenparametern
Vorlagenparameter werden im Format $parameter$ deklariert. Beispiel:
$safeprojectname$
$guid1$
$guid5$
So aktivieren Sie die Parameterersetzung in Vorlagen
Suchen Sie in der VSTEMPLATE-Datei der Vorlage das ProjectItem-Element, das dem Element entspricht, für das Sie die Parameterersetzung aktivieren möchten.
Legen Sie das ReplaceParameters-Attribut des ProjectItem-Elements auf true fest.
Schließen Sie in der Codedatei für das Projektelement ggf. Parameter ein. Durch den folgenden Parameter wird beispielsweise angegeben, dass der sichere Projektname für den Namespace in einer Datei verwendet werden soll:
namespace $safeprojectname$
Reservierte Vorlagenparameter
In der folgenden Tabelle sind die reservierten Vorlagenparameter aufgelistet, die von beliebigen Vorlagen verwendet werden können.
Tipp
Bei Vorlagenparametern wird die Groß-/Kleinschreibung beachtet.
Parameter |
Beschreibung |
---|---|
clrversion |
Aktuelle Version der Common Language Runtime (CLR). |
GUID [1-10] |
Eine GUID zum Ersetzen der Projekt-GUID in einer Projektdatei. Sie können bis zu 10 eindeutige GUIDs (z. B. guid1)) angeben. |
itemname |
Der vom Benutzer im Dialogfeld Neues Element hinzufügen angegebene Name. |
machinename |
Der aktuelle Computername (z. B. Computer01). |
projectname |
Der vom Benutzer im Dialogfeld Neues Projekt angegebene Name. |
registeredorganization |
Der Registrierungsschlüsselwert aus HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization. |
rootnamespace |
Der Stammnamespace des aktuellen Projekts. Dieser Parameter wird dazu verwendet, den Namespace nur in einem Element zu ersetzen, das einem Projekt hinzugefügt wird. |
safeitemname |
Der vom Benutzer im Dialogfeld Neues Element hinzufügen angegebene Name, aus dem alle unsicheren Zeichen sowie Leerzeichen entfernt wurden. |
safeprojectname |
Der vom Benutzer im Dialogfeld Neues Projekt angegebene Name, aus dem alle unsicheren Zeichen sowie Leerzeichen entfernt wurden. |
time |
Die aktuelle Uhrzeit im Format TT/MM/JJJJ 00:00:00. |
userdomain |
Die aktuelle Benutzerdomäne. |
username |
Der aktuelle Benutzername. |
webnamespace |
Der Name der aktuellen Website. Dieser Parameter wird in der Web Form-Vorlage verwendet und gewährleistet eindeutige Klassennamen. Wenn sich die Website im Stammverzeichnis des Webservers befindet, wird dieser Vorlagenparameter in das Stammverzeichnis des Webservers aufgelöst. |
year |
Das aktuelle Jahr im Format JJJJ. |
Benutzerdefinierte Vorlagenparameter
Zusätzlich zu den reservierten Vorlagenparametern, die während der Parameterersetzung automatisch verwendet werden, können Sie eigene Vorlagenparameter und -werte angeben. Weitere Informationen finden Sie unter Gewusst wie: Übergeben von benutzerdefinierten Parametern an Vorlagen.
Beispiel: Ersetzen von Dateinamen
Sie können variable Dateinamen für Projektelemente festlegen, indem Sie einen Parameter mit dem TargetFileName-Attribut verwenden. Beispielsweise können Sie angeben, dass die EXE-Datei den von $projectname$ angegebenen Projektnamen als Dateinamen verwendet.
<TemplateContent>
<ProjectItem
ReplaceParameters="true"
TargetFileName="$projectname$.exe">
File1.exe
</ProjectItem>
...
</TemplateContent>
Beispiel: Verwenden des Projektnamens für den Namespacenamen
Um den Projektnamen für den Namespace in einer Visual C#-Klassendatei (Class1.cs) zu übernehmen, verwenden Sie folgende Syntax:
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
#endregion
namespace $safeprojectname$
{
public class Class1
{
public Class1()
{
}
}
}
Schließen Sie in der VSTEMPLATE-Datei für die Projektvorlage den folgenden XML-Code ein, wenn Sie auf die Datei Class1.cs verweisen:
<TemplateContent>
<ProjectItem ReplaceParameters="true">
Class1.cs
</ProjectItem>
...
</TemplateContent>