带有多项目模板的 IWizard
IWizard with multi project template
我创建了一个多项目模板,但我想根据用户输入编辑存储在每个项目中的一些值多个项目。
这是 RunStarted 方法
下的向导class
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$";
我需要为每个项目创建一个向导模板吗?或者有没有办法用一个向导来做到这一点?
此致
艾丹
我设法让这个工作我需要添加一个 childWizard.cs 到 WizardTemplate 项目,然后为子项目设置值。
这是在主模板向导下创建全局字典所需的代码class。
globalDictionary = new Dictionary<string, string>();
globalDictionary.Add(key: "$WebCall$", value: strwebCall);
并且在实现IWizard接口的子向导中
replacementsDictionary.Add(key: "$WebCallchild$", value: WizardClass.globalDictionary["$WebCall$"].ToString());
在项目 classes 中添加 $WebCallchild$ 后,我想更新一个值并将以下内容添加到每个项目的 .vstemplate 文件中
<WizardExtension>
<Assembly>
LayerTemplateWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ea9d885401b51155
</Assembly>
<FullClassName>LayerTemplateWizard.IWizardChild</FullClassName>
</WizardExtension>
然后它允许我更改所有需要的值。
希望这对其他人有帮助
艾丹
我创建了一个多项目模板,但我想根据用户输入编辑存储在每个项目中的一些值多个项目。
这是 RunStarted 方法
下的向导class 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$";
我需要为每个项目创建一个向导模板吗?或者有没有办法用一个向导来做到这一点?
此致
艾丹
我设法让这个工作我需要添加一个 childWizard.cs 到 WizardTemplate 项目,然后为子项目设置值。
这是在主模板向导下创建全局字典所需的代码class。
globalDictionary = new Dictionary<string, string>();
globalDictionary.Add(key: "$WebCall$", value: strwebCall);
并且在实现IWizard接口的子向导中
replacementsDictionary.Add(key: "$WebCallchild$", value: WizardClass.globalDictionary["$WebCall$"].ToString());
在项目 classes 中添加 $WebCallchild$ 后,我想更新一个值并将以下内容添加到每个项目的 .vstemplate 文件中
<WizardExtension>
<Assembly>
LayerTemplateWizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ea9d885401b51155
</Assembly>
<FullClassName>LayerTemplateWizard.IWizardChild</FullClassName>
</WizardExtension>
然后它允许我更改所有需要的值。
希望这对其他人有帮助
艾丹