Параметры шаблона
С помощью параметров в шаблонах, можно заменить значения ключевых частей шаблона, например имена классов и пространства имен, когда шаблон будет создан экземпляр.Эти параметры заменяются при помощи мастера шаблонов, работающего в фоновом режиме, когда пользователь нажимает кнопку OK в диалоговых окнах Новый проект или Добавить новый элемент.
Объявление и включение параметров шаблона
Параметры шаблона объявляются в формате $parameter$.Например:
$safeprojectname$
$guid1$
$guid5$
Чтобы включить подстановку параметров в шаблонах
В файле VSTEMPLATE шаблона найдите элемент ProjectItem, соответствующий элементу, для которого необходимо заменить параметры.
Задайте атрибут ReplaceParameters элемента ProjectItem равным true.
В файле кода включите соответствующие параметры для элемента проекта.Например, следующий параметр указывает, что для пространства имен в файле используется безопасное имя проекта:
namespace $safeprojectname$
Зарезервированные параметры шаблона
Ниже в таблице перечислены зарезервированные параметры шаблона, которые могут быть использованы любым шаблоном.
Примечание |
---|
Параметры шаблонов учитывают регистр. |
Параметр |
Описание |
---|---|
clrversion |
Текущая версия общеязыковой среды выполнения (CLR). |
GUID [1-10] |
Идентификатор GUID, используемый для замены идентификатора GUID проекта в файле проекта.Можно указать до 10 уникальных идентификаторов GUID (например, guid1). |
itemname |
Имя задается пользователем в диалоговое окно Добавление нового элемента. |
machinename |
Текущее имя компьютера (например Computer01). |
projectname |
Имя задается пользователем в диалоговом окне Новый проект. |
registeredorganization |
Значение ключа реестра из HKLM\Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization. |
rootnamespace |
Корневое пространство имен текущего проекта.Этот параметр применяется только в шаблоны элементов. |
safeitemname |
Имя, указанное пользователем в диалоговом окне Добавление нового элемента, с удалением всех небезопасных знаков и пробелов. |
safeprojectname |
Имя, указанное пользователем в диалоговом окне Добавление нового проекта, с удалением всех небезопасных знаков и пробелов. |
time |
Текущее время в формате дд/мм/гггг 00:00:00. |
SpecificSolutionName |
Имя решения.При установке «создать каталог решения», SpecificSolutionName имеет имя решения.Когда «создать каталог решения» не установлен, SpecificSolutionName пуст. |
userdomain |
Текущий домен пользователя. |
username |
Текущее имя пользователя. |
webnamespace |
Имя текущего веб-узла.Этот параметр используется в шаблоне веб-формы, чтобы гарантировать уникальные имена классов.Если веб-узел находится в корневом каталоге веб-сервера, этот параметр шаблона определяет корневой каталог веб-сервера. |
year |
Текущий год в формате гггг. |
Пользовательские параметры шаблона
Можно определить собственные параметры шаблона и значения, в дополнение к зарезервированным параметрам шаблона по умолчанию, которые используются во время замещения параметра. Дополнительные сведения см. в разделе Элемент CustomParameters (шаблоны Visual Studio).
Пример: замена имен файлов
Можно указать переменные имена файлов для элементов проекта с помощью параметра с атрибутом TargetFileName.Например, можно указать, что файл EXE использует имя проекта, указанное в параметре $projectname$, в качестве имени файла.
<TemplateContent>
<ProjectItem
ReplaceParameters="true"
TargetFileName="$projectname$.exe">
File1.exe
</ProjectItem>
...
</TemplateContent>
Пример: использовать имя проекта для имени пространства имен
Чтобы использовать имя проекта для пространства имен в файле класса Visual C#, Class1.cs, используйте следующий синтаксис:
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
#endregion
namespace $safeprojectname$
{
public class Class1
{
public Class1()
{
}
}
}
При ссылке на файл Class1.cs в файле VSTEMPLATE для шаблона проекта, включите следующий текст XML:
<TemplateContent>
<ProjectItem ReplaceParameters="true">
Class1.cs
</ProjectItem>
...
</TemplateContent>