在 .NET 中运行时生成文件的 T4 替代方案
Posted
技术标签:
【中文标题】在 .NET 中运行时生成文件的 T4 替代方案【英文标题】:Alternatives to T4 for runtime generation of files in .NET 【发布时间】:2016-12-09 05:45:52 【问题描述】:我们的业务需求是生成元数据文件,通常是 json 或 XML,符合各种模式,并在运行时由服务器应用程序生成。
T4 似乎是一个很好的选择。在运行时提供参数以及将静态文本与 C# 相结合的能力非常完美。但是MSDN's documentation 建议不要在服务器应用程序中使用它,并建议所有转换都以串行方式执行。
有没有 T4 模板的替代品,用于在运行时基于文本模板动态生成元数据文件?
【问题讨论】:
【参考方案1】:T4 有两个方面,编译时和运行时。它们基于相同的技术,但目的却大不相同。编译时间是生成将作为应用程序的一部分编译的代码。运行时转换就是您要在这里寻找的。p>
文档说的是他们不建议在服务器上使用编译时,但是,使用运行时转换应该没问题。它本身会生成一个处理运行时转换的类。该应用程序将是独立的,不需要 VS 组件来执行转换。
Run-Time Text Generation with T4 Text Templates。
【讨论】:
对,我想不建议在服务器上进行编译时转换是有道理的,但即便如此,它似乎建议不要在单线程中进行转换,这对我们来说并不理想。我一直想看看 Razor 是否可以用来做我描述的事情......以上是关于在 .NET 中运行时生成文件的 T4 替代方案的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中运行时生成 Sceneform 资源
如何使用 python 为 Web 元素生成 Xpath(在我的脚本中运行时)?
使用KEIL C51 V9.00调试软件在LM3S6965中运行时,编译无法生成axf文件,报错如下图
在 Azure 中运行时,ML.NET Tensorflow 图像分类崩溃并出现 SEHException