如何在Visual Studio 2017中创建“使用自定义向导的多项目模板”

时间:2017-09-26 18:48:54

标签: visual-studio-2017 wizard vsix multi-project visual-studio-templates

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

我已关注"How to: Create Multi-Project Templates"制作多项目模板。这很有效。

我跟着"How to: Use Wizards with Project Templates"在我的VSIX文件中创建了我的向导。这很有效。

然而,我不能让他们一起工作。我可以在没有向导的情况下部署我的多项目模板。或者我可以通过我的VSIX文件,使用可用的自定义向导,将所有单独的项目模板显示在项目库中。

关于如何结合这两种方法的任何想法?

2 个答案:

答案 0 :(得分:1)

我能够从this blog采纳答案。

关键是要将所有导出的项目(包含ZIP,你必须提取)和你的根.vstemplate文件打包成ZIP。然后,此ZIP需要是VSIX项目中的导入项目模板。

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

答案 1 :(得分:0)

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

但是,您不需要在单独的项目中拥有向导代码,您可以在您的 VSIX 项目中拥有它。

我是您的 VSIX 项目,要添加对 .zip 文件的引用,请打开您的 source.extension.vsixmanifest 设计器 -> 资产 -> 新建 -> 选择类型项目模板和源“文件系统上的文件”并选择您的 zip 文件. 如果您还没有,请确保还将您的 VSIX 项目添加为程序集:新建 -> 选择类型程序集和源“当前解决方案中的一个项目”,然后选择您的 VSIX 项目。 (这可能是它对 Dan 不起作用的原因)

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

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

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

示例:

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