构建时T4转换的产品仅在下一个构建中使用
我有一个VS项目,其中包含:
-
在
template.tt
上运行TextTransform
的预构建操作,以生成generated.cs
-
generated.cs
列为要编译的文件之一(即在项目文件列表中)
当我构建项目时,执行预构建操作,重新创建generated.cs
,但VS编译之前版本的generated.cs
(我猜它在构建过程开始时加载到内存中)。
如何使构建使用新版本的generated.cs
(即在预构建操作中生成的版本)? 如何强制构建订单?
请注意,文本转换输入是动态的,因此无法在设计时完成。
我认为您不需要自定义预构建操作。 只需将“.tt”文件添加到项目中,并将其“Custom Tool”属性设置为“TextTemplatingFileGenerator”。 您可能希望确保* .generated.cs文件也添加到项目中,但我认为VS负责这一点。
现在有一个解决这个问题的方法! Oleg Sych在他的博客上发表了一篇文章,详细介绍了如何在构建时进行转换工作。
以下是来源: https : //web.archive.org/web/20140116193428/http : //www.olegsych.com/2010/04/understanding-t4-msbuild-integration/
基本上,您只需在项目文件中包含T4构建目标,并将TransformOnBuild属性设置为true。
这是相关的摘录:
true
请注意Microsoft.TextTemplating.targets文件必须包含在Microsoft.CSharp.targets之后。
上述就是C#学习教程:构建时T4转换的产品仅在下一个构建中使用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/998490.html