首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#运行T4模板

使用C#运行T4模板
EN

Stack Overflow用户
提问于 2011-01-24 19:48:29
回答 2查看 18.9K关注 0票数 18

我有一个生成cs文件的T4模板(mycode.tt)。我通常右键单击tt文件并选择RunCustomTool,它会在内部获取一个xml文件并为我生成代码。现在,我想使用c# windows应用程序运行自定义工具。因此,只要单击一个按钮,我就可以运行自定义工具。是否可以从c#运行CustomTool。

编辑:

我有两个tt文件,其中一个没有cs文件。但是另一个文件附加了一个.cs文件,我从第一个.tt文件调用第二个文件的TransformText()方法。因此,我需要调用第一个file.So,而不能使用TransformText()方法。有没有办法动态调用textTemplate文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-25 09:49:37

我推荐@jb_上面回答的预处理路线。

作为另一种选择,如果您需要模板在没有编译步骤的情况下仍可编辑,以便与自定义C#应用程序一起使用,并且该应用程序将仅与Visual Studio一起部署在计算机上,则可以编写自定义宿主。

http://msdn.microsoft.com/en-us/library/bb126519.aspx

票数 7
EN

Stack Overflow用户

发布于 2011-01-24 19:57:13

当您使用VS2010时,您可以很容易地实现它。如果将新文件添加到项目中,请选择预处理的文本模板文件。您可以像往常一样编辑模板。该文件不是直接生成输出,而是生成正常生成的代码。我知道这听起来很困惑。但是您在输出文件中看到的是由文本模板工具包生成的代码,以获得您的输出(或多或少)。

这是一个名为"TestTemplate.tt“的预处理文本模板的简短示例,以及如何在代码中使用它:

tt-file:

<#@ template language="C#“#>一些输出。

代码:

using System;using System.Diagnostics;namespace Test { class Program { static void Main(string[] args) { testTemplate TestTemplate = TestTemplate();Debug.Print(testTemplate.TransformText());}

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4781608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档