无法在VS2017中调试T4模板

Rah*_*eel 11 debugging t4 visual-studio-2017

在VS2017社区,我无法调试2015年有效的T4模板.

我有一个非常基本的模板,比如这......

<#@ template debug="true" hostspecific="false" language="C#" #>
<#@ output extension=".txt" #>
<#
var a = "Hello";
var b = "World";
#>
<#=($"{a} {b}!")#>
Run Code Online (Sandbox Code Playgroud)

Run Custom Tool并且Transform All T4 Templates两个选项都有效,文本文件包含预期输出

你好,世界!

如果我在某处使用断点并使用Debug T4 Template.tt的上下文菜单,则会抛出此错误

无法启动转换运行创建过程.

但它在VS 2015中运行良好,我可以在那里进行调试.

我可能会失踪什么?如何在VS 2017中调试T4模板?请注意,我在VS2015中没有安装任何工具/扩展来调试T4

Rez*_*oir 7

我有同样的问题,我不知道为什么它不能这样工作,但我有一个解决方法.

将debug设置为true,并添加诊断命名空间

<#@ template language="C#" debug="true" #>
<#@ import namespace="System.Diagnostics" #>
Run Code Online (Sandbox Code Playgroud)

在你的T4模板中写

Debugger.Launch();
Run Code Online (Sandbox Code Playgroud)

然后运行你的模板(最简单的方法就是保存它),它会询问你是否想在一个新的visual studio实例中进行调试.

  • 这对我不起作用,不幸的是我只需要使用vs.net 2015来获得调试支持. (2认同)