【问题标题】:.net CodeGenerators?.net 代码生成器?
【发布时间】:2011-01-02 02:02:53
【问题描述】:

我需要一个代码生成器:

  1. 是开源的
  2. 将以中等信任度运行
  3. 模板可以被编译,也可以作为资源文件嵌入。

由于 2 和 3,Webforms 将无法工作。如果我使用虚拟路径提供程序,那么它只能在完全信任的情况下运行;如果我将它们作为常规网络表单运行,那么我必须提供 .ascx 文件,这是不可接受的。

更新:我想生成 C# 或 VB.Net 代码以及 ASP.NET 标记,尽管这无关紧要。

【问题讨论】:

  • 这不是一个可以回答的问题。您将需要提供更多详细信息或以更明确的方式解释您正在寻找的内容。比如你希望它生成什么样的代码?

标签: .net code-generation


【解决方案1】:

查看T4 Toolbox

【讨论】:

  • 我所知道的T4仅来自VS工作室。我需要它在运行时生成代码
  • 您应该将其添加到您的问题中。
【解决方案2】:

查看 .NET 3.5 SP1 中为 ASP.NET 的动态数据添加的模板支持。 Microsoft 在 .NET 4 中对此进行了扩展,以使模板在 Web 表单和 ASP.NET MVC 中可用,并支持页面和字段模板。为动态数据引入的数据注释支持正在成为自动验证支持的基础。数据注释也是 Silverlight 和 WCF RIA 服务的一个重要方面。

这些功能可以减少代码生成所需完成的工作,并使代码生成器更加强大。

从现在开始,任何可行的代码生成解决方案都需要利用这些功能,无论代码生成器是商业、开源还是自定义应用程序。

更新:

顺便说一句,如果您正在寻找运行时代码生成,您可能对LINQ expression 支持更感兴趣;您可以使用 LINQ 构建表达式树,并在运行时将它们编译成代码。

【讨论】:

  • 你能提供一个链接吗?
  • 链接添加为我的答案的更新。这些只是起点,但您应该能够从中找到很多有趣的东西。
【解决方案3】:

现在出现在 Visual Studio 2019 中的 T4。

您必须在项目中添加一个文本模板文件(文件类型 = TT)

查看以下链接以获取有关 T4 的更多说明

//docs.microsoft.com/en-us/visualstudio/modeling/code-generation-and-t4-text-templates

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2022-06-11
    相关资源
    最近更新 更多