【问题标题】:How to create .cs files automatically?如何自动创建 .cs 文件?
【发布时间】:2015-12-09 15:51:38
【问题描述】:

如何在 Visual Studio 中自动创建 .cs 文件?

我想创建一个宏/扩展/模板以不重复常用代码。

我想像这样生成它们;我想在文本框中写“客户”;

而这个“生成器”会将 CustomerRepository.cs 生成到“Datas 项目”。 CustomerService.cs 到“服务项目”,CustomerDto.cs 到“Dtos 项目”。如您所见,我不想一个接一个地创建每个文件。我需要一个工具来生成这些 cs 文件并将其放置到正确的项目中......我该怎么做?

我搜索了很多,找到了 CodeSmith Tools 的代码生成器。 http://www.codesmithtools.com/product/generator

但我想买它;对于我需要的东西来说太复杂了。我不确定我是否可以使用 nuget 包系统创建它。生成代码文件的任何想法/方法?

【问题讨论】:

  • 编写代码生成器,使用msBuild。
  • 我不确定这是否是一个答案,但请查看T4 templates
  • 我为 CodeSmith 工作,您可以使用我们的 VS 集成 + 生成器项目文件在生成器中轻松完成此操作。

标签: c# .net code-generation auto-generate codesmith


【解决方案1】:

使用 T4 模板。

以下是有关如何在 Visual Studio 中使用 T4 模板的简单教程的链接。 VS 2013 也是如此。这很简单,但 T4 模板非常强大,可以做很多很酷的事情。

https://www.youtube.com/watch?v=u_HYlgac5M8

【讨论】:

    【解决方案2】:

    T4 模板绝对是首选。

    过去我开发了一整套 T4 模板来生成解决方案。风险是,一旦您想更改多个模板中的代码,或更改数据库架构,某些代码可能会混乱。

    所以我不得不编写一个基于数据库模式的代码生成器来生成一个带有 DAL(Linq To SQL、实体框架)、BLL、WCF 和 UI 应用程序 MVC、WPF、Windows PHone、Windows App Store、Silverlight 的 VS 解决方案.

    您可以转到https://github.com/ntierontime/Log4Net 看看它是否满足您的架构要求。并给我发送一封带有 .dbml(Linq To Sql 类)的电子邮件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 2022-11-23
      相关资源
      最近更新 更多