根据您的评论。
我已经测试了该方法并执行以下操作:
将其添加TextTransform.exe到您的项目文件中(通过添加现有项,将其复制并粘贴到您的项目文件夹中,然后引用它,或者进行其他操作)
创建一个新的.tt文件,我的具有以下内容
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".txt" #>
<#
var dateTimeNow = DateTime.Now.ToString();
#>
<#=dateTimeNow#>
Run Code Online (Sandbox Code Playgroud)
(只需使用DateTime生成一个简单的.txt文件,即可查看其工作原理)
声明这两个文件- TextTemplate1.tt and TextTransform.exe-作为Copy always其财产Copy to Output Directory。
现在在下面的代码中,我做了 Main
static void Main(string[] args)
{
File.Delete("TextTemplate1.txt"); //delete the existing file, to make sure the code does what its supposed to do
Thread.Sleep(1000); //wait for filesystem to do its job
var proc = new Process
{
StartInfo =
{
FileName = "TextTransform.exe",
Arguments = "TextTemplate1.tt"
}
};
proc.Start();
proc.WaitForExit();
}
Run Code Online (Sandbox Code Playgroud)
(删除路径,因此它相对于正在执行的.exe-必须位于同一目录中)
一切正常,需要更多信息来帮助您发现问题。
我的TextTransform.exe文件: