2016-02-26 5 views
0

Я создал шаблон для нескольких проектов, но я хотел бы отредактировать некоторые значения, хранящиеся в каждом из проектов на основе ввода пользователя. Я получил это, чтобы работать с шаблоном мастера для одного проекта, но не смог для нескольких проектов.IWizard с шаблоном нескольких проектов

Это класс мастер по методу RunStarted

wizardFrm = new WizardForm(); 
wizardFrm.ShowDialog(); 
// call property from wizard form to read user input values 
strProjectPrefix = wizardFrm.ProjectPrefix; 
strwebCall = wizardFrm.WebCall; 
strPrefix = wizardFrm.Prefix; 
strServiceName = wizardFrm.ServiceName; 
strTransmit = wizardFrm.Transmit; 
strService = wizardFrm.Service; 
strUniqueID = wizardFrm.UniqueID; 
strRecordID = wizardFrm.RecordID; 
strQueued = wizardFrm.Queued; 
strEmailSubject = wizardFrm.EmailSubject; 
strEmailCat = wizardFrm.EmailCat; 
strMethod = wizardFrm.Method; 
strTemplate = wizardFrm.Template; 
// sets the Values 
replacementsDictionary.Add(key: "$WebCall$", value: strwebCall); 
replacementsDictionary.Add(key: "$projectPrefix$", value: strProjectPrefix); 
replacementsDictionary.Add(key: "$prefix$", value: strPrefix); 
replacementsDictionary.Add(key: "$serviceName$", value: strServiceName); 
replacementsDictionary.Add(key: "$transmitted$", value: strTransmit); 
replacementsDictionary.Add(key: "$service$", value: strService); 
replacementsDictionary.Add(key: "$uniqueID$", value: strUniqueID); 
replacementsDictionary.Add(key: "$recordID$", value: strRecordID); 
replacementsDictionary.Add(key: "$queued$", value: strQueued); 
replacementsDictionary.Add(key: "$emailSubject$", value: strEmailSubject); 
replacementsDictionary.Add(key: "$Category$", value: strEmailCat); 
replacementsDictionary.Add(key: "$method$", value: strMethod); 
replacementsDictionary.Add(key: "$uriTemplate$", value: strTemplate); 

Это одна из ценностей, которые я хочу изменить в одном из проектов

public const string PREFIX = "$prefix$"; 

Я бы нужно создать шаблон мастера за проект? или есть ли способ сделать это с помощью одного Мастера?

С уважением

Айдан

ответ

0

мне удалось получить эту работу мне нужно, чтобы добавить childWizard.cs к проекту WizardTemplate, который затем имеет значение, чтобы установить для подпроектов.

Это код, необходимый для создания глобального словаря под основным классом мастера шаблонов.

globalDictionary = new Dictionary<string, string>(); 
globalDictionary.Add(key: "$WebCall$", value: strwebCall); 

И в мастере ребенка, который реализует интерфейс IWizard

replacementsDictionary.Add(key: "$WebCallchild$", value: WizardClass.globalDictionary["$WebCall$"].ToString()); 

После того, как я добавил $ WebCallchild $ в классах проекта, где я хотел, чтобы обновить значение и добавьте ниже в .vstemplate файл для каждого проекта

<WizardExtension> 
    <Assembly> 
     LayerTemplateWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ea9d885401b51155 
    </Assembly> 
    <FullClassName>LayerTemplateWizard.IWizardChild</FullClassName> 
</WizardExtension> 

Тогда это позволило мне изменить все необходимые значения.

Надеется, что это помогает кто-то еще

Айдана

 Смежные вопросы

  • Нет связанных вопросов^_^