关于VS2010多解决方案项目模板



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

我想知道,如果在向导我给一个选项来选择一个额外的项目,需要添加到现有的模板,如测试项目。

我如何在代码中处理这个?我将在IWizard的实现方法上添加一个新项目

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

像这样:

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的另一个方法,但这大致是我如何做到的。实际上,我在多项目模板中使用了一组完全空的项目,并像这样触发所有的项目模板。

一个要求(我认为)是项目需要出现在一个常用的模板文件夹中,这意味着它也可以单独添加。这对你来说可能是一种优势,也可能是一种劣势,但你的巫师需要能够以某种方式处理这个问题。

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

最新更新