我正在尝试调试Visual Studio 2008中T4模板的执行。

我在Visual Studio 2008中发现的有关调试T4模板的所有信息都说,您可以在模板中设置一个断点(红点),就好像它是常规代码文件一样。我安装了Clarius T4代码荧光笔,因此我的T4模板是颜色的,但是 我无法设置断点。 当我单击边距时,什么也不会发生。

我已经尝试了Debugger.break(),并且它启动了一个新实例,但它无法从我的模板中加载代码。我得到一个对话框,上面写着“当前位置没有可用的源代码。”如果我在旋转新实例的另一个实例中加载了相同的项目,则会发生这种情况。

是什么赋予了?

有帮助吗?

解决方案 3

好的 - 弄清楚了。启动新实例不是一个选择 Oleg的文章 说。 (没有对Sych先生的欺骗,他的博客是T4代码生成的福音!)

  1. 启动Visual Studio的第二个实例,
  2. 打开文件(任何文件),以便显示“调试”菜单。
  3. 选择“附加到进程...”,然后选择其他vs.net实例
  4. 将模板保存在vs.NET的附件实例中(或右键单击并选择运行自定义工具)

瞧。

其他提示

设置以下内容:

<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>

然后在您的模板中

Debugger.Launch();

VS将在VS 2010的新实例中启动JIT调试器

在Visual Studio 2013中:

  1. 在.tt文件中设置断点
  2. 右键单击解决方案资源管理器中的.TT文件
  3. 选择“调试T4模板”
  4. 完毕!

无需附加第二个实例。

确保您在模板指令中打开调试选项:

<#@ template语言=“ c#” debug =“ true”#>

这使T4保存在Visual Studio中调试所需的源代码和符号文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top