我有一个生成cs文件的T4模板(mycode.tt)。我通常右键单击tt文件并选择RunCustomTool,它会在内部获取一个xml文件并为我生成代码。现在,我想使用c# windows应用程序运行自定义工具。因此,只要单击一个按钮,我就可以运行自定义工具。是否可以从c#运行CustomTool。
编辑:
我有两个tt文件,其中一个没有cs文件。但是另一个文件附加了一个.cs文件,我从第一个.tt文件调用第二个文件的TransformText()方法。因此,我需要调用第一个file.So,而不能使用TransformText()方法。有没有办法动态调用textTemplate文件?
发布于 2011-01-25 09:49:37
我推荐@jb_上面回答的预处理路线。
作为另一种选择,如果您需要模板在没有编译步骤的情况下仍可编辑,以便与自定义C#应用程序一起使用,并且该应用程序将仅与Visual Studio一起部署在计算机上,则可以编写自定义宿主。
http://msdn.microsoft.com/en-us/library/bb126519.aspx
发布于 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());}
https://stackoverflow.com/questions/4781608
复制相似问题