时间:2010-07-26 16:09:06

标签: t4

4 个答案:

答案 0 :(得分:6)

答案 1 :(得分:0)

我建议尝试使用该解决方案:http://www.olegsych.com/2010/04/understanding-t4-msbuild-integration

但是,如果你没有VS 2010,我认为你很难坚持这样做。

答案 2 :(得分:0)

使用VS 2017或更高版本遇到此问题的任何人都应使用vswhere来定位此文件。 @codingdave的评论是最近的评论,但在许多计算机上仍然无法使用。

我在Microsoft Docs article feedback中添加了一个示例,该示例显示了如何使用powershell进行此操作。

#the path to VSWhere.exe is always in programfiles(x86)

$progFilesx86Path = [System.Environment]::ExpandEnvironmentVariables("%programfiles(x86)%")
$vsWherePath = Join-Path $progFilesx86Path "\Microsoft Visual Studio\Installer\vswhere.exe"

# this tells vswhere to use paths of the latest version of visual studio installed 
# to locate this exe anywhere in those paths, and return a single textual 
# value (not a json object or xml payload)

$ttExe = & $vsWherePath -latest -find **\TextTransform.exe -format value
if (-Not(Test-Path $ttExe)){
    throw "Could not locate TextTransform.exe"
}

#then to invoke a transformation
& "$ttExe"  c:\Source\YourTransform.tt

答案 3 :(得分:0)

来自@codingdavecomment
对于 VS2017,TextTransform.exe 的 VS2019 位置将是

C:\Program Files (x86)\Microsoft Visual Studio\<<Version>>\<<Edition>>\Common7\IDE
版本 -> (2017/2019)
版本 ->(社区/专业/企业)

在预构建事件中,我们可以使用像
这样的宏 "$(DevEnvDir)\TextTransform.exe" "$(ProjectDir)AssemblyInfo.tt"