【问题标题】:Run T4 Text Template when click update button or application restart单击更新按钮或应用程序重新启动时运行 T4 文本模板
【发布时间】:2018-10-24 14:54:21
【问题描述】:

在我的应用程序中,一些设置来自 JSON 设置文件。可以从程序中更新设置文件,并使用 T4 文本模板从这些更新中创建 .cs 文件。因此,当更新 JSON 文件时,我希望 T4 文本模板也可以工作并更新 .cs 文件。如果这是不可能的,我希望 T4 文本模板运行并在我重新启动程序时更新 .cs 文件。但我不知道该怎么做。我设法创建了 .tt 文件,当我在 Visual Studio 中保存 .tt 文件时,它可以完美运行。

注意:我已经用 Google 搜索了 2 天,并阅读了网站上的所有主题。但我没有得到任何结果。

【问题讨论】:

    标签: c# json json.net t4


    【解决方案1】:

    您可以运行命令行转换工具。这是一个例子:

    "C:\Program Files (x86)\Common Files\microsoft shared\TextTemplating\14.0\TextTransform.exe" "C:\src\template.tt"
    

    这将使用 VS2015 中的 TextTransform.exe。 VS2017还有TextTransform.exe,甚至是免费社区版,位于C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\

    CLI is available 的文档。

    【讨论】:

    • 不幸的是,我的 .Net 信息仍然有限。我给谷歌写了“如何使用TextTransform”,但我又什么都听不懂了。能给我举个例子吗?这个 TextTransform 是否单独工作?如果我把TextTransform.exe放在程序文件旁边可以吗?
    • @ColinHenricks “你能举个例子吗?”我在答案中做了,它转换了C:\src\template.tt“这个 TextTransform 单独工作吗?”您可以在 Visual Studio 之外运行它。但是,如果您想编译它生成的 .cs 文件,您将需要更多工具,例如 msbuild 或 csc。 “如果我将 TextTransform.exe 放在程序文件旁边,它会起作用吗?”不知道。很有可能它会起作用,但请阅读 EULA,我不确定您是否可以在您的应用程序中重新分发 TextTransform.exe。
    猜你喜欢
    • 2016-04-19
    • 2011-07-14
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 2014-01-14
    • 1970-01-01
    相关资源
    最近更新 更多