0

在 VS2010 中,我创建了一个自定义的多解决方案项目模板并实现IWizard了替换项目中的自定义参数。

我想知道是否在向导中我提供了一个选项来选择需要添加到现有模板(例如测试项目)中的其他项目。

我怎样才能在代码中处理这个?我将在哪种IWizard实施方法上添加一个新项目。

4

1 回答 1

0

您可以以编程方式将其他项目添加到多项目模板中定义的项目中。

像这样的东西:

public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
{
    var solution = (Solution2)((DTE2)automationObject).Solution;
    var template = solution.GetProjectTemplate("Folder\\TestProject.zip", "CSharp");

    string destinationFolder = "...";
    string projectName = "..."
    solution.AddFromTemplate(template, destinationFolder, projectName, false);
}

您可能希望将代码移动到另一个方法中RunStarted,但这大致是我的做法。然而,我实际上在多项目模板中使用了一组完全空的项目,并像这样触发所有项目模板。

一个要求(我认为)是项目需要存在于常用的模板文件夹之一中,这意味着它也可以单独添加。这对您来说可能是优势也可能是劣势,但您的威世智需要能够以某种方式应对。

我一直想写一篇关于这个和其他一些模板内容的博客文章,不幸的是我还没有找到时间。也许我应该把它放在优先级列表上更高一点……

于 2013-01-08T19:12:27.393 回答