Шаблоны проектов— это то, что видно в диалоговом окне New Project в Visual Studio. Проекты сгруппированы по типу проекта (С#, VB, Windows, Office и т. д.). Кроме того, сами шаблоны разделены на инсталлированные вместе с Visual Studio и My Templates. К последним относятся инсталлированные вами нестандартные шаблоны. На рис. 7.25 показано диалоговое окно New Project в действии. Вы выбираете тип проекта или группу, а затем сам шаблон.
Вы можете создать шаблон проекта вручную или использовать мастер Visual Studio Export Template Wizard. Он просто собирает вместе нужные XML-файлы и сворачивает ваш проект в архив формата ZIP. Для создания шаблона проекта вы делаете следующее:
1. Создаете проект в Visual Studio (или начинаете с существующего проекта).
2. Определяете, где в вашем шаблоне должны присутствовать параметры (если они нужны).
3. Выбираете опцию Export Template из меню File.
4. Не обязательно: редактируете XML-файл с расширением vstemplate.
Теперь давайте рассмотрим каждый из этих шагов.
Шаг 1. Создание вашего проекта
Большая часть создаваемых вами шаблонов будет начинаться с существующего шаблона Visual Studio (или пустого проекта). Обычно разработчики обращаются к шаблонам для реализации стандартов и практик, и также при создании правил для команд разработчиков. Поэтому самой сложной частью создания шаблона проекта является определение самого шаблона в смысле того контента, который должен в него войти. Например, предположим, что ваша команда разработчиков использует определенный набор библиотек, ресурсов или элементов управления. Вы можете определить шаблон проекта, в котором все эти ресурсы будут встроены (или на них будут указывать ссылки).
Шаг 2. Определение параметров проекта
Параметры проекта определяют элементы, которые настраиваются по умолчанию в тот момент, когда Visual Studio создает новый проект на основе данного шаблона. Например, когда вы создаете новый проект, то пространство имен файлов кода настраивается на пространство имен проекта. Это — параметр проекта. Visual Studio использует для этой цели несколько зарезервированных параметров шаблона. В табл. 7.3 дан обзор этих параметров.
Мастер Export Template Wizard помогает вам работать с этими параметрами. После того как вы вручную задали их в вашем коде, мастер Export Template Wizard определит эти настройки.
Предположим, что у вас есть шаблон проекта с названием SmartClient. Когда пользователь выбирает этот шаблон для создания проекта, то вы хотите, чтобы этот шаблон вел себя как другой шаблон в диалоговом окне. Например, вы хотите, чтобы пространство имен проекта было определено с таким же именем, которое пользователь выбрал в качестве названия проекта.
Для реализации параметров шаблона вы определяете положение параметра в коде. В примере с пространством имен вы должны использовать зарезервированный параметр шаблона safeprojectname на месте реального названия пространства имен, определенного в кодовых файлах проекта. Это указывает Visual Studio, что при создании нового проекта название пространства имен должно быть настроено на безопасное название проекта (определенное пользователем). Следующий пример показывает, как определить код:
namespace $safeprojectname$ { class Framework {
Примечание
При наличии этих параметров ваш код собираться не будет. Поэтому лучше всего отладить ваш код перед настройкой параметров.
Теперь, когда вы задали ваши параметры, мастер Export Template Wizard определит их и поместит в XML-файл с расширением vstemplate. Мы рассмотрим это в шаге 3.