我使用CodeDom编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行添加为构建步骤,然后在构建时以编程方式将其所有类添加到解决方案中。
我该怎么做?
答案 0 :(得分:1)
Subsonic还使用Build Providers生成其DAL和代码。请检查自定义构建提供程序的亚音速配置。它是开源的,你也可以检查它的实现。
<configuration>
<system.web>
<compilation>
<buildProviders>
<add extension=".abp" type="SubSonic.BuildProvider, SubSonic"/>
</buildProviders>
</compilation>
</system.web>
</configuration>
它使用.abp扩展文件来启动其构建提供程序。
编辑:是的,自定义构建提供程序是ASP.Net的超级功能。但 传统的winform或其他 开发人员可以使用MSBuild自定义 任务获得相同的效果。迪诺 埃斯波西托提供了一篇很棒的文章 对于相同的。你可以检查一下 here.
答案 1 :(得分:0)
我不知道这是怎么回事,但是这里有:
如果CodeDOM代码是在单独的项目中生成的,则生成类,然后将文件名添加到库的.csproj文件(它只是XML)中。还要先订购它。然后让库的预构建事件运行代码生成应用程序,然后它将编译。当您下次单击VS时,它会要求您重新加载,因为项目文件已更改并且您的新类应该显示。
看起来有点hacky,但是通过一些脚本可以实现自动化。