Login
Visual Studio 15 SP 1
4169 просмотров
Перейти к просмотру всей ветки
in Antwort Murr 25.01.17 15:14
Глюк в шаблонах Т4
Имею в шаблоне для генерации файла проекта следующий код:
<Compile Include="<#= Table.Name #>\\SQL\\<#= LastGeneratedName #>">
Ожидается построение ссылки на сгенерированный шаблон. Кто не знает - добавьте шаблон в проект, выгрузите проект и посмотрите что там прописалось.
Т.е. ожидается что будет сгенерировано что-то такое:
<Compile Include="MyTable\SQL\Update_Row.cs">
Двойные бакслеши используются т.к. текст "\\SQL\\"
должен трансформироваться в this.Write("\\SQL\\");
но по факту он трансформируется в this.Write("\\\\SQL\\");
Т.е. первый двойной - удваивается, а второй - остается без изменений.
Чинится следующей заменой:
<Compile Include="<#= Table.Name #><#= @"\SQL\" #><#= LastGeneratedName #>">