Luk*_*oid 19 c# t4 path c-preprocessor
我的T4代码生成遇到了一个小问题.
我已将我的T4模板分解为单独的文件并将它们放在各种目录中,我已经这样做了,因此我的代码生成的一部分可以在多个项目中重复使用,例如模型生成,存储库生成和服务生成都包括核心EntityGeneration .tt文件.
不幸的是,当TextTemplating解析我的嵌套包含时,它会在其生成的.cs文件中构建一个长的#line预处理器指令,将所有相对路径组合到最低级别的包含文件.
不幸的是,由于这条路径是用相对路径构建的,所以它最终会不必要地长,实际上它超过了最大路径长度(Windows 7).
如果您感兴趣,以下是生成代码的错误行:
#line 3 "C:\VS2010\AlbatrossTravelGroup\ASC\AlbatrossTravelGroup.ASC.BusinessRules\Services\Contracts\..\..\..\..\AlbatrossTravelGroup.BusinessRules\Services\Contracts\..\..\..\AlbatrossTravelGroup.Models\Repositories\Contracts\..\..\../AlbatrossTravelGroup.Common/CodeGeneration.tt"
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何禁用这些指令写入生成的代码文件?如果不这样做,如何在不更改文件结构的情况下避免此问题?
Ric*_*ers 15
Visual Studio 2012添加了linePragmas="false"模板指令:
<#@ template language="C#" linePragmas="false" #>
Run Code Online (Sandbox Code Playgroud)
http://msdn.microsoft.com/en-us/library/gg586945(v=vs.110).aspx
仍然不确定如何在VS2010中这样做,我在工作中坚持.
| 归档时间: |
|
| 查看次数: |
1809 次 |
| 最近记录: |