Visual Studio 支持链接,该功能使单个模板可以包含多个 IWizard 实现。 这些实现按顺序调用,因此您可以创建具有丰富、灵活的功能的模板。
实现的详细信息
系统调用由 Microsoft 实现的 VsTemplate 向导,通过读取模板的 .vstemplate 文件来处理模板。VsTemplate 可以列出一个或多个程序集,这些程序集包含将被调用以参与处理模板的 IWizard 实现。 为了利用链接功能,必须在模板的 .xml 文件中按照调用向导的顺序列出所有向导。
通过允许模板向 IWizard 实现传递参数,并允许一个 IWizard 实现向另一个实现传递参数,可以将一个 Dictionary 对象用作参数替换列表。 IWizard 可以保存对传递到 RunStarted 的 Dictionary 的引用。IWizard 在通知回调中所做的任何更改都将被保留。
替换参数(例如,$MyVariable)具有全局范围,可以从任何 IWizard 访问这些参数。 对于您不想让其他 IWizard 不慎使用或更改的所有替换变量,请确保对这些变量指定唯一的名称。 建议您对向导所用的所有替换参数做书面记录,以便让其他用户了解其用途。
IWizard 包含一个名为 ShouldAddItem 的布尔值属性。 此属性通知向导是否应添加指定的文件。 如果 ShouldAddItem 设置为 false,则当前向导之后的所有向导都不会加载项。