我已经使用CodeDom编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行作为构建步骤添加,然后在构建时以编程方式将其所有类都添加到解决方案中。如何在Visual Studio解决方案中管理生成的类?
我该怎么做?
我已经使用CodeDom编写了一个代码生成器,它从存储过程生成了许多类。我想将其执行作为构建步骤添加,然后在构建时以编程方式将其所有类都添加到解决方案中。如何在Visual Studio解决方案中管理生成的类?
我该怎么做?
Subsonic还采用建立提供商能够产生它的DAL和代码。请检查自定义构建提供程序的亚音速配置。它是开源的,你也可以检查它的实现。
<configuration>
<system.web>
<compilation>
<buildProviders>
<add extension=".abp" type="SubSonic.BuildProvider, SubSonic"/>
</buildProviders>
</compilation>
</system.web>
</configuration>
它使用.abp扩展文件来启动它的构建提供程序。
编辑:是的,自定义构建提供程序是ASP.Net的超级功能。但 传统winform或其他 开发人员可以使用MSBuild自定义 任务获得相同的效果。迪诺 埃斯波西托提供了一个伟大的文章 相同。您可以检查它 here.
我不知道如何做到这一点的工作,但在这里有云:
如果在一个单独的项目,为您生成的CodeDOM代码生成类,然后添加文件名到一个库的.csproj文件(它只是XML)。它是否也命令首先构建。然后让库的预生成事件运行代码生成应用程序,然后它将编译。当你点击VS下一次,它会要求你重新加载,因为项目文件已经改变,你的新类应该显示出来。
这看起来有点不好意思,但有了脚本,它可以自动化。
这非常有趣!但似乎这些自定义构建提供程序仅支持Web项目。我读的是对的吗? – 2009-09-22 20:22:31
你说得对。定制构建提供程序是ASP.Net的功能。但是您可以使用MSBuild自定义任务来获得相同的效果。请检查编辑到我的答案。 – Mahin 2009-09-23 07:40:37
我最终把它作为一个自定义任务来完成,这是该部门的谈话。谢谢! – 2009-09-24 11:08:44