【发布时间】:2010-11-30 12:46:45
【问题描述】:
我使用 CodeDom 编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行添加为构建步骤,然后在构建时以编程方式将其所有类添加到解决方案中。
我该怎么做?
【问题讨论】:
标签: visual-studio build-process code-generation
我使用 CodeDom 编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行添加为构建步骤,然后在构建时以编程方式将其所有类添加到解决方案中。
我该怎么做?
【问题讨论】:
标签: visual-studio build-process code-generation
Subsonic 还使用构建提供程序来生成其 DAL 和代码。请检查自定义构建提供程序的亚音速配置。它是开源的,你也可以检查它的实现。
<configuration>
<system.web>
<compilation>
<buildProviders>
<add extension=".abp" type="SubSonic.BuildProvider, SubSonic"/>
</buildProviders>
</compilation>
</system.web>
</configuration>
它使用 .abp 扩展文件来启动它的构建提供程序。
编辑: 是的,自定义构建提供程序是 ASP.Net 的超级功能。但 传统的winform或其他 开发者可以使用 MSBuild 自定义 任务以获得相同的效果。迪诺 Esposito 提供了一篇很棒的文章 对于相同的。你可以检查一下 here.
【讨论】:
我不知道这会如何工作,但这里是:
如果您的 CodeDOM 代码是在单独的项目中生成的,请生成类,然后将文件名添加到库的 .csproj 文件(它只是 XML)中。也下令先建造。然后让库的预构建事件运行代码生成应用程序,然后它将编译。下次单击 VS 时,它会要求您重新加载,因为项目文件已更改并且您的新类应该会显示出来。
这似乎有点 hacky,但只需编写一点脚本就可以实现自动化。
【讨论】: