【问题标题】:How to Generate a New Visual Studio Project in a Visual Studio Project Programmatically?如何以编程方式在 Visual Studio 项目中生成新的 Visual Studio 项目?
【发布时间】:2013-01-04 08:27:25
【问题描述】:

我编写了一个项目来获取您的数据库表 - 您可以选择并构建与表列相关的 C# 类。点赞、过滤、查询等。

它完全有效,我可以生成 6 个具有完整功能的不同类 - 取决于我的需要 - 只需单击一下即可生成表格。 T4 真的很棒!

但是,我想为这些类创建一个新项目。如您所知,创建这些文件并不是我的最终目标。

现在,我正在尝试以编程方式为这些类生成一个新项目/解决方案。

我阅读了与此问题相关的不同问题,但这对我来说还不够。例如,Create a Visual Studio project programmatically 与我的问题很接近,但它并没有让我满意。我找不到如何选择新项目的类型。

我查看了Programmatically generate Visual Studio Solution,但找不到为生成的类提供新解决方案的方法。我还看了Tree Surgeon。它没有让我满意。安装后,我看到它最多是为 Visual Studio 2008 设计的,它只是从用户那里获取项目名称。所以,Tree Surgeon 并不是解决这个问题的方法。

我需要的是,学习如何编写新项目的结构并以编程方式创建它。找到答案后,我打算做一个项目,当你在浏览器中写下你的新项目名称、数据库名称、表名以及你需要哪种类型的类时,T4 和C# 将为您和 ta-da 工作!您将拥有一个包含控制器、助手和新类的新项目。

有可能吗?

【问题讨论】:

  • 没用过,但是看看 Guidance Automation:msdn.microsoft.com/en-us/library/ff687174.aspx
  • 感谢您的信息,我正在查看该网站。我很感激。
  • 我认为 C# 项目和所有其他项目一样都是 MSBuild 格式。尝试查看this post。在这种情况下,我要做的是创建一个带有项目的模板和一个包含文件占位符的解决方案,并将文件名注入到模板中。

标签: c# database-connection code-generation t4


【解决方案1】:

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。作为一个新成员,我不允许在这里发布所有链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2013-02-22
    • 2010-12-20
    • 2013-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多