我需要一个代码生成器:
由于2和3,Webforms将不起作用。如果我使用虚拟路径提供程序,则它仅在完全信任的情况下运行;如果我将它们作为常规Web窗体运行,则必须提供.ascx文件,这是不可接受的。
更新:我想生成C#或VB.Net代码以及ASP.NET标记,尽管那没关系。
检出T4 Toolbox。
[。NET 3.5 SP1中添加的模板支持,用于ASP.NET的动态数据。 Microsoft在.NET 4中对此进行了扩展,以使模板可以在Web表单以及ASP.NET MVC中使用,并且支持页面和字段模板。为动态数据引入的数据注释支持正成为自动验证支持的基础。数据注释也是Silverlight和WCF RIA服务的重要方面。
这些功能可以减少代码生成所需的工作,并使代码生成器更强大。
从现在开始,任何可行的代码生成解决方案都需要利用这些功能,而不管代码生成器是商业的,开源的还是定制的应用程序。
更新:
顺便说一句,如果您正在寻找运行时代码生成,您可能对LINQ expression支持更感兴趣;您可以使用LINQ来构建表达式树,并在运行时将其编译为代码。
Visual Studio 2019中现在存在的T4。
您必须在项目中添加文本模板文件(文件类型= TT)
请参阅以下链接以获取有关T4的更多说明
//docs.microsoft.com/en-us/visualstudio/modeling/code-generation-and-t4-text-templates