private static IEnumerable<string> FindTemplates(string p)
{
foreach (var template in Directory.EnumerateDirectories(p).SelectMany(FindTemplates))
{
yield return template;
}
foreach (var template in Directory.EnumerateFiles(p, "*.tt"))
{
yield return Path.GetFullPath(template);
}
}