如何使用预构建事件命令行将参数传递给T4模板

问题描述 投票:1回答:1

我需要将参数从预构建事件传递到T4模板。当前,我正在使用以下Pre-build命令来构建T4模板文件,但无法将参数传递给它。

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\texttransform.exe" "$(ProjectDir)VersionGenerator.tt"

我需要将参数传递给我的VersionGenerator.tt模板。

c# visual-studio msbuild t4 post-build-event
1个回答
0
投票

假设您具有以下模板Template1.tt

<#@ template hostspecific="true" language="C#" #>
<#@ output extension=".txt" #>
Testing output extension
<#
    string foo;
    try
    {
         foo = this.Host.ResolveParameterValue("", "", "Foo");
    }
    catch (Exception e)
    {
         foo = "ResolveParameterValue foo failed with\r\n" + e.ToString();
    }
#>

Foo: <#= foo #>

以下命令:

texttransform.exe -a foo!bar "Template1.tt" -a "!!foo!bar"

结果:

Testing output extension

Foo: bar
© www.soinside.com 2019 - 2024. All rights reserved.