VS向导模板 - 更改项目解决方案和目录

时间:2014-04-02 11:52:29

标签: c# templates visual-studio-2012 projects-and-solutions

我在visual studio 2012上使用c#编写Visual Studio向导模板。

我按照MSDN步骤操作: 我创建了一个VS模板,然后创建了一个类库项目,其中包含一个实现IWizard接口的类,我配置了.vstemplate文件等...

现在,我的目标是写入RunStarted功能代码,它执行以下操作:

在项目创建时,它将另一个现有解决方案目录从另一个位置复制到新项目选定位置,然后,不是在新解决方案中创建新项目,而是将新项目添加到复制的解决方案中,一个特定的应用程序"文件夹,不会创建新的解决方案。

RunStarted方法中,我编写了一个简单的CopyDirectory代码,该代码将所需的解决方案复制到我从$SolutionDirectory$参数中提取的ReplacementsDictionary。但是现在,我没有成功继续并改变新项目配置,尽管它将作为复制解决方案的项目生成。

你对这个问题有什么看法吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

您有两个选择:

  1. 如果您拥有解决方案的DTE \ Solution2对象,则可以使用AddFromFile()方法或使用{{3}直接从模板添加项目方法。

    可以通过DTE方法获取当前GetService()对象:

    //获取当前运行的Visual Studio IDE的实例

    DTE dte =(DTE)GetService(typeof(DTE));

  2. 如果您无法将解决方案作为DTE对象获取,则可以使用.sln file编辑来编辑XML(查看现有.sln文件中项目的添加方式)。