Если вы помните из нашего обсуждения надстроек, то каждый такой модуль использует addin-файл для регистрации надстройки в Visual Studio. Для мастеров таким эквивалентом являются файлы с расширением vsz; они сообщают Visual Studio о мастере и о его реализующем классе.
Вот пример vsz-файла:
VSWizard 8.0
Wizard=ContosoWizard.AddNewClassWizard Param=
Строка vswizard в этом файле указывает версию мастера. Число 9.0 соответствует Visual Studio 2008, а предыдущие номера версий соответствуют предыдущим версиям Visual Studio.
Примечание
Формат vsz-файла не изменился с версии Visual Studio 2003, так что номер версии значения практически не имеет; многие из входящих в комплект Visual Studio 2008 мастеров промаркированы как файлы версии 6!
После номера версии указан идентификатор класса. И наконец, имеется одна (или несколько) необязательных строк Ра ram. Эти строки определяют любые параметры, которые вы хотите передать мастеру. Все определенные здесь параметры мы встретим в параметре CustomParams метода Execute.
Visual Studio имеет особую иерархию каталогов, которую она использует для хранения vsz- файлов мастеров. Каталог, в который вы поместите vsz-файл, будет определять то место, где появится опция запуска мастера. Например, если вы хотите создать мастер Add Item Wizard для обоих языков (Visual Basic и Visual С#), то вам необходимо будет поместить копию vsz- файла в оба каталога— для Visual Basic и для Visual С#. Если Visual Studio 2008 была инсталлирована в каталог по умолчанию, то вам придется поместить файлы сюда:
□ C:\Program Files\Microsoft Visual Studio 9.0\VC#\CSharpProjectltems;
□ C:\Program Files\Microsoft Visual Studio 9.0\VB\VBProjectItems.
Если бы вы создавали мастер New Project Wizard, то файлы нужно было бы поместить в каталоги VC#\CSharpProjects и VBW В Projects.
Каталоги мастеров могут также содержать vsdir-файл. Этот файл используется для того, чтобы обеспечить Visual Studio значком и прочими ресурсами для конкретного мастера. Файл с расширением vsdir является простым текстовым файлом. Каждая строка файла представляет собой определенный vsz-файл/мастер и предоставляет несколько полей (разделенных символом конвеера, |) с необязательной информацией о мастере. В табл. I3.8 описаны поля строк vsdir-файла (по порядку). Необязательные поля помечены.
Вот простой пример vsdir-файла с единственной записью о мастере:
CSharpContosoDataClass.vsz | | |1|Create a new Contoso storage
class|с:\ContosoFramework\Wizards\DataClassWizard.dll| | |Contoso Data Class
Совет
Записи в vsdir-файле представляют собой способ связывания ресурсов значков с мастерами (вы можете указать путь к DLL и идентификатор ресурса значка). Есть также и более простой способ сделать это: просто создайте ico-файл, дайте ему то же самое имя, что и vsz-файлу, и поместите в тот же каталог.