如何在VSTemplate中的IWizard实现中嵌套解决方案文件夹

时间:2013-07-05 16:46:44

标签: c# asp.net .net visual-studio-2010

我正在实现一个IWizard来创建一个Visual Studio多项目模板。我的解决方案将项目分组到多个解决方案文件夹中,按照msdn documentation执行此操作没有问题。但是,我不能为我的生活弄清楚如何嵌套解决方案文件夹。我可以在根解决方案栏中创建一整套解决方案文件夹,并在这些解决方案文件夹中放置不同的模板化项目,但我看不到如何在解决方案文件夹中创建另一个解决方案文件夹。任何提示??

注意:因为VSTemplate将为每个逻辑解决方案文件夹创建物理目录,并将不同的项目物理放置在磁盘上的那些目录中,这不是一个选项,因此我使用IWizard的原因。

1 个答案:

答案 0 :(得分:0)

哈,当然我刚刚发布这个,我想出了怎么做。我正在维护解决方案文件夹的字典,这就是我所做的......

ICollection<KeyValuePair<String, SolutionFolder>> _solutionFolders = new Dictionary<String, SolutionFolder>();

_solutionFolders.Add(new KeyValuePair<string, SolutionFolder>("Api", (SolutionFolder)solution.AddSolutionFolder("Api").Object));

_solutionFolders.Add(new KeyValuePair<string, SolutionFolder>("Api.Commands", (SolutionFolder)_solutionFolders.Single(d => d.Key.Equals("Api")).Value.AddSolutionFolder("Commands").Object));
_solutionFolders.Add(new KeyValuePair<string, SolutionFolder>("Api.Queries", (SolutionFolder)_solutionFolders.Single(d => d.Key.Equals("Api")).Value.AddSolutionFolder("Queries").Object));