在源代码管理(TFS)下运行T4模板

时间:2016-02-19 08:13:49

标签: c# .net tfs version-control t4

背景

我经常需要调整生成.tt文件的.xsd文件(T4模板)。这是通过更改.txt源文件并启动'运行自定义工具'来完成的。

问题

当我进行更改时,我会自动检查用作基本文件的.txt。但是,.xsd未签出。如果没有检出输出目标,那么运行T4这样会产生一个非常非描述性的错误。很容易错过,特别是如果你有其他错误,给你T4正确运行的错误安全感。

问题

有没有办法进行设置,以便在编辑时自动检出所有T4依赖项?

1 个答案:

答案 0 :(得分:2)

如果.xsd是生成的文件,则它不应受源代码控制,因为它是构建过程的结果。

我认为这里最好的做法是在源代码管理系统中排除/忽略生成的文件。

就像一个想法,因为这可能非常依赖于您使用的SC工具(我使用的SVN似乎在这种情况下表现正常),您可以尝试修改(手动)您的项目文件,说明您的.tt文件依赖于.txt文件:

<Content Include="YourT4File.tt">
  <Generator>TextTemplatingFilePreprocessor</Generator>
  <LastGenOutput>YourT4File.xsd</LastGenOutput>
  <DependentUpon>YourTextFile.txt</DependentUpon>
</Content>

尝试添加<DependentUpon>节点...