Parametry šablony
Hodnoty v šabloně můžete nahradit při vytváření instance šablony. K nastavení této funkce použijte parametry šablony. Parametry šablony lze použít k nahrazení hodnot, jako jsou názvy tříd a obory názvů v šabloně. Průvodce šablonou, který běží na pozadí, když uživatel přidá novou položku nebo projekt nahradí tyto parametry.
Deklarace a povolení parametrů šablony
Parametry šablony jsou deklarovány ve formátu $parameter$. Příklad:
$rootnamespace$
$guid 1$
$guid 5$
Povolení nahrazení parametrů v šablonách
V souboru .vstemplate šablony vyhledejte
ProjectItem
prvek, který odpovídá položce, pro kterou chcete povolit nahrazení parametru.ReplaceParameters
Nastavte atributProjectItem
prvku natrue
.Do souboru kódu pro položku projektu uveďte parametry, kde je to vhodné. Například následující parametr určuje, že kořenový obor názvů se používá pro obor názvů v souboru:
namespace $rootnamespace$
Rezervované parametry šablony
V následující tabulce jsou uvedeny parametry rezervované šablony, které můžou používat libovolná šablona:
Parametr | Popis |
---|---|
clrversion | Aktuální verze modulu CLR (Common Language Runtime). |
Ext_* | Přidejte předponu ext_ k libovolnému parametru, který odkazuje na proměnné nadřazené šablony. Například ext_safeprojectname . |
guid[1-10] | Identifikátor GUID použitý k nahrazení identifikátoru GUID projektu v souboru projektu. Můžete zadat až 10 jedinečných identifikátorů GUID (například guid1 ). |
itemname | Název souboru, ve kterém se parametr používá. |
Machinename | Název aktuálního počítače (například Computer01). |
Projectname | Jméno zadané uživatelem při vytvoření projektu. Tento parametr se vztahuje pouze na šablony projektů. |
zaregistrovaná uspořádání | Hodnota klíče registru z HKLM\Software\Microsoft\systém Windows NT\CurrentVersion\RegisteredOrganization. |
Rootnamespace | Kořenový obor názvů aktuálního projektu následovaný podsložkou aktuální položky s lomítky nahrazenými tečkami. |
defaultnamespace | Kořenový obor názvů aktuálního projektu. |
safeitemname | Stejné jako itemname všechny nebezpečné znaky a mezery nahrazené podtržítkem. |
safeitemrootname | Stejné jako safeitemname . |
safeprojectname | Jméno zadané uživatelem při vytvoření projektu, ale se všemi nebezpečnými znaky a mezerami se odeberou. Tento parametr se vztahuje pouze na šablony projektů. |
targetframeworkversion | Aktuální verze cílového rozhraní .NET Framework. |
čas | Aktuální čas ve formátu, který je založený na uživatelském nastavení Windows. Jedním z příkladů formátu času je DD/MM/RRRR 00:00:00.00. |
specifiedsolutionname | Název řešení. Pokud je nezaškrtnutá možnost Umístit řešení a projekt do stejného adresáře, specifiedsolutionname má název řešení. Pokud není zaškrtnuto políčko „vytvořit adresář řešení“, specifiedsolutionname je prázdné. |
userdomain | Aktuální doména uživatele. |
username | Aktuální uživatelské jméno. |
webnamespace | Název aktuálního webu. Tento parametr se používá v šabloně webového formuláře k zajištění jedinečných názvů tříd. Pokud je web v kořenovém adresáři webového serveru, tento parametr šablony se přeloží na kořenový adresář webového serveru. |
za rok | Aktuální rok ve formátu RRRR. |
Poznámka:
U parametrů šablony se rozlišují malá a velká písmena.
Vlastní parametry šablony
Kromě výchozích parametrů rezervované šablony, které se používají při nahrazování parametrů, můžete zadat vlastní parametry a hodnoty šablony. Další informace naleznete v tématu CustomParameters element (šablony sady Visual Studio).
Příklad: Použití názvu projektu pro název souboru
Názvy souborů proměnných pro položky projektu můžete zadat pomocí parametru v atributu TargetFileName
.
Následující příklad určuje, že název spustitelného souboru používá název projektu určený $projectname$
.
<TemplateContent>
<ProjectItem
ReplaceParameters="true"
TargetFileName="$projectname$.exe">
File1.exe
</ProjectItem>
...
</TemplateContent>
Příklad: Použití názvu bezpečného projektu pro název oboru názvů
Pokud chcete použít název bezpečného projektu pro obor názvů v souboru třídy jazyka C#, použijte následující syntaxi:
namespace $safeprojectname$
{
public class Class1
{
public Class1()
{ }
}
}
Do souboru .vstemplate pro šablonu projektu při odkazování na soubor zahrňte ReplaceParameters="true"
atribut:
<TemplateContent>
<ProjectItem ReplaceParameters="true">
Class1.cs
</ProjectItem>
...
</TemplateContent>