答案 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)
来自@codingdave的comment
对于 VS2017,TextTransform.exe 的 VS2019 位置将是
C:\Program Files (x86)\Microsoft Visual Studio\<<Version>>\<<Edition>>\Common7\IDE
版本 -> (2017/2019)
版本 ->(社区/专业/企业)
在预构建事件中,我们可以使用像
这样的宏
"$(DevEnvDir)\TextTransform.exe" "$(ProjectDir)AssemblyInfo.tt"