如何在Visual Studio解决方案中管理生成的类?

时间:2009-09-22 19:30:35

标签: visual-studio build-process code-generation

我使用CodeDom编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行添加为构建步骤,然后在构建时以编程方式将其所有类添加到解决方案中。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

使用Custom Build Providers

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,但是通过一些脚本可以实现自动化。