如何在 Visual Studio 2017 年创造 "Multi Project Template With Custom Wizard"

How to create "Multi Project Template With Custom Wizard" in Visual Studio 2017

我正在寻求有关使用自定义向导(以允许输入自定义参数)制作多项目模板(即包含多个项目的可部署解决方案)的帮助。

我已经按照"How to: Create Multi-Project Templates"制作了多项目模板。这是有效的。

我已经按照 "How to: Use Wizards with Project Templates" 在我的 VSIX 文件中制作我的向导。这是有效的。

但是,我无法让它们一起工作。我可以在没有向导的情况下部署我的多项目模板,或者我可以通过我的 VSIX 文件,使用一个有效的自定义向导,让我所有的个人项目模板显示在项目库中。

关于如何结合这两种方法有什么想法吗?

我能够采纳 this blog 的答案。

关键是将所有导出的项目(以 ZIP 格式提供,您必须将其解压缩)和根 .vstemplate 文件打包到 ZIP 中。然后,此 ZIP 需要是 VSIX 项目中的导入项目模板。

最后,您的向导需要是它自己的独立项目,您可以在任何个人项目模板或 VSIX 中引用。我在我的 VSIX 中创建了我的向导,但似乎没有用。

如 Dan 所述,您需要将多项目模板放在一个 zip 文件中。

但是,您不需要将向导代码放在单独的项目中,您可以将其全部放在您的 VSIX 项目中。

我是你的 VSIX 项目,要添加对你的 .zip 文件的引用,请打开你的 source.extension.vsixmanifest 设计器 -> 资产 -> 新建 -> Select 输入项目模板和源 'File on filesystem' 和 select 你的 zip 文件。 如果您还没有将 VSIX 项目添加为程序集,请确保也将其添加:新建 -> Select 类型程序集和源代码 'a project in current solution' 和 select 您的 VSIX 项目。 (这可能就是它对 Dan 不起作用的原因)

在您的多 template.vstemplate 文件中,您需要使用 <WizardExtension>

添加对 VSIX dll 的引用,如 "How to: Use Wizards with Project Templates" 中所述

此外,如果您想设置默认的自定义参数值,您还可以在 <TemplateContent> 内添加一个 <CustomParameters> 部分。有关详细信息,请参阅此处:"The registration elements for customizing the template wizard"

示例:

<CustomParameters>
  <CustomParameter Name="$mycustomparameter1$" Value="value1"/>
  <CustomParameter Name="$mycustomparameter2$" Value="value2"/>
</CustomParameters>