2013-01-08 115 views
0

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

我想知道是否在向导中给出了一个选项,用于选择需要添加到现有模板(如测试项目)的其他项目。

我该如何处理代码?我将在哪个方法的IWizard实施中添加一个新项目。

回答

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,但是这是我大概如何做到这一点。实际上,我在多项目模板中使用了一组完全空白的项目,然后触发所有项目模板。

一个需求(我认为)是项目需要存在于一个通常的模板文件夹中,这意味着它也可以单独添加。 这对你来说可能是一种优势或劣势,但是你的奇才需要能够以某种方式来对付。

我一直有意做一个关于这个和其他模板的东西的博客文章,不幸的是我还没有找到时间。也许我应该把它放在优先级列表上更高一些...

+0

Hi @ Thorarin,我相信IWizard的RunStarted方法,(Solution2)((DTE2)automationObject).Solution将是null,因为项目模板不会在IDE中加载。如果我错了,请纠正我 – Soni

相关问题