我在visual studio 2012上使用c#编写Visual Studio向导模板。
我按照MSDN步骤操作: 我创建了一个VS模板,然后创建了一个类库项目,其中包含一个实现IWizard接口的类,我配置了.vstemplate文件等...
现在,我的目标是写入RunStarted
功能代码,它执行以下操作:
在项目创建时,它将另一个现有解决方案目录从另一个位置复制到新项目选定位置,然后,不是在新解决方案中创建新项目,而是将新项目添加到复制的解决方案中,一个特定的应用程序"文件夹,不会创建新的解决方案。
在RunStarted
方法中,我编写了一个简单的CopyDirectory
代码,该代码将所需的解决方案复制到我从$SolutionDirectory$
参数中提取的ReplacementsDictionary
。但是现在,我没有成功继续并改变新项目配置,尽管它将作为复制解决方案的项目生成。
你对这个问题有什么看法吗? 谢谢!
答案 0 :(得分:2)
您有两个选择:
如果您拥有解决方案的DTE \ Solution2对象,则可以使用AddFromFile()方法或使用{{3}直接从模板添加项目方法。
可以通过DTE
方法获取当前GetService()
对象:
//获取当前运行的Visual Studio IDE的实例
DTE dte =(DTE)GetService(typeof(DTE));
如果您无法将解决方案作为DTE对象获取,则可以使用.sln file
编辑来编辑XML
(查看现有.sln文件中项目的添加方式)。