【发布时间】:2011-04-07 23:28:05
【问题描述】:
我有一个 T4 模板,它可以根据标志输出优化内容或标准内容。目前我正在根据需要手动更改标志。
我想做的是根据 Visual Studio 中解决方案的配置设置标志。如果设置为在调试模式下构建,我将输出标准内容。如果设置为在发布模式下构建,我会改为优化内容。我发现了另一个看起来很有希望的 T4 问题:T4 Text Template - Is it possible to get compilation symbols from host?
但是,就我而言,我想做如下的事情:
<#@ template language="C#" hostspecific="True"
compilerOptions="/d:$(ConfigurationName)" #>
因为我可以在汇编指令中使用 $(SolutionDir):
<#@ assembly name="$(SolutionDir)\myreference.dll" #>
我认为 /d:$(ConfigurationName) 会让我到达我需要去的地方,然后我可以执行以下操作来设置我的标志:
<#
#if Debug
optimize = false;
#else
optimize = true;
#endif
#>
唉,这似乎不起作用。我也尝试过使用:
Host.ResolveParameterValue("-", "-", "ConfigurationName");
也无济于事。有什么想法吗?
【问题讨论】:
标签: t4