如何通过编程方式在Visual Studio项目中生成新的Visual Studio项目?

9
我编写了一个项目,可以获取你选择的数据库表并构建与表列相关的C#类。例如,过滤器、查询等等。
它完全有效,我可以通过一次点击生成6个不同的具有完整功能的类 - 根据我的需要 - 用于一个表。T4真的很棒!
但是,我想为这些类创建一个新的项目。正如你所理解的,我的最终目标不仅仅是创建这些文件。
现在,我正在尝试以编程方式为这些类生成一个新的项目/解决方案。
我阅读了与此问题相关的不同问题,但这对我来说还不够。例如,Create a Visual Studio project programmatically接近我的问题,但它并没有让我满意。我找不到如何选择新项目类型的方法。
我看了编程生成 Visual Studio 解决方案,但我找不到一种方法来给我的生成类提供新的解决方案。我还查看了Tree Surgeon, 但它并没有满足我的需求。在安装它后,我发现它只适用于 Visual Studio 2008,并且只从用户那里获取项目名称。因此,Tree Surgeon 不是这个问题的解决方案。
我需要学习如何编写一个新项目的结构并以编程方式创建它。找到答案后,我计划拥有一个这样的项目,当您在浏览器中编写新项目名称、数据库名称、表名称和所需类的类型时,T4 和 C# 都将为您工作,然后您就会有一个包含控制器、帮助程序和新类的新项目。
这是可能的吗?

2
从未使用过,但可以看看Guidance Automation:http://msdn.microsoft.com/en-us/library/ff687174.aspx - Preben Huybrechts
谢谢提供信息,我现在正在查看该网站。非常感谢。 - caner
我认为C#项目和其他项目一样,都是采用MSBuild格式。可以尝试查看这篇帖子。在这种情况下,我会创建一个包含项目和解决方案的模板,并在模板中为文件设置占位符,然后将文件名注入到模板中。 - Buzzy
1个回答

4

GAT/GAX是您最好的选择。在我的上一份工作中,我正是按照您所要求的方式进行了操作。Jelle Druyts最能解释GAX/GAT。我使用他的6篇博客(下面有2个链接)在VS解决方案中生成项目和类。他的第3到第6节将是您最好的选择。

http://jelle.druyts.net/2006/06/29/GAS05TuningTheCProjects.aspx

http://jelle.druyts.net/2006/07/03/GAS06GeneratingClasses.aspx

请在他的博客中查找第1-4篇文章。作为新成员,我无法在此处发布所有链接。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接