我在 c# .net 中有一个项目。
我需要挂钩“预构建”事件,以便我可以运行 ac# 类,该类将为同一个项目生成其他 c# 类。
我知道在java中你可以使用maven插件生成源代码,在.net中可以吗?
谢谢。
我在 c# .net 中有一个项目。
我需要挂钩“预构建”事件,以便我可以运行 ac# 类,该类将为同一个项目生成其他 c# 类。
我知道在java中你可以使用maven插件生成源代码,在.net中可以吗?
谢谢。
至少有两种选择:
T4 是进行代码生成的内置方式(广泛用于 ASP.NET MVC 脚手架和实体框架类型生成)。但是 T4 不直接支持编译时生成。它要么在设计时——开发者触发(重新)生成——要么在运行时生成;(第三方工具可以添加编译时生成)。
附录(6 年后):像Clarius.TransformOnBuild这样的 NuGet 包也可以做到这一点。
自定义 MSBuild 任务(包括运行外部程序)可用于创建代码,然后将其包含在编译中。在最简单的情况下,可以使用项目的“预构建”设置(项目属性的“构建事件”选项卡)。直接在 MSBuild 中工作(并且 a.csproj
是一个 MSBuild 文件)提供了更大的灵活性。
听起来你想要T4 模板。