我已经创建了一个多项目模板,但我想根据用户输入编辑存储在每个项目中的一些值,我通过单个项目的向导模板工作,但无法为多个项目做
这是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 :(得分: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>
然后它允许我更改所需的所有值。
希望这有助于其他人
艾