Visual Studio T4模板替换类文件中的文本

时间:2015-02-11 14:27:38

标签: c# visual-studio t4

我想知道如何创建可以在类文件中查找和替换字符串的T4模板。

例如:
我有一个名为" Test.cs"的类文件。这是由其他一些过程自动生成的 我想针对" Test.cs"运行T4模板。将重命名所有" OldText"的文件它找到的文字" NewText"

在运行T4模板之前测试。

public class OldText 
{ 
    public OldText() {} 
}

Test.cs在T4模板运行之后。

public class NewText 
{ 
    public NewText() {} 
}

1 个答案:

答案 0 :(得分:2)

正如Jeroen所指出的,这不是t4模板的用途。但是,您可以考虑编写一个t4模板,它将为您生成Test.cs,其中实际的类名将存储在变量中。你的Test.tt看起来像这样:

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ output extension=".cs" #>
<#
    var className = "OldText";
#>
using System;

public class <#= className #>
{ 
    public <#= className #>() {} 
}

然后,要生成类名为NewText的Test.cs,您只需在一个地方更改className变量的值。