[英]Cannot debug T4 template in VS2017
在VS2017社区,我无法调试2015年有效的T4模板。
我有一个非常基本的模板,比如这......
<#@ template debug="true" hostspecific="false" language="C#" #>
<#@ output extension=".txt" #>
<#
var a = "Hello";
var b = "World";
#>
<#=($"{a} {b}!")#>
Run Custom Tool
和Transform All T4 Templates
两个选项都有效,文本文件包含预期输出
你好,世界!
如果我将断点放在某处并使用.tt的上下文菜单中的Debug T4 Template
,则会抛出此错误
无法启动转换运行创建过程。
但它在VS 2015中运行良好,我可以在那里进行调试。
我可能会失踪什么? 如何在VS 2017中调试T4模板? 请注意,我在VS2015中没有安装任何工具/扩展来调试T4
我有同样的问题,我不知道为什么它不能这样工作,但我有一个解决方法。
将debug设置为true,并添加诊断命名空间
<#@ template language="C#" debug="true" #>
<#@ import namespace="System.Diagnostics" #>
在你的T4模板中写
Debugger.Launch();
然后运行你的模板(最简单的方法就是保存它),它会询问你是否想在一个新的visual studio实例中进行调试。
最简单的解决方案是将这两行添加到T4模板的顶部。
<#@ template debug="true" hostspecific="false" language="C#" #>
<# System.Diagnostics.Debugger.Launch(); #>
然后只需通过保存文件来运行模板,Visual Studio将提示您在新实例中进行调试。
如果在模板中使用Host并且出现错误The name 'Host' does not exist in the current context
然后设置`hostspecific =“true”'。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.