在T4模板中设置断点
-
21-09-2019 - |
题
我正在尝试调试Visual Studio 2008中T4模板的执行。
我在Visual Studio 2008中发现的有关调试T4模板的所有信息都说,您可以在模板中设置一个断点(红点),就好像它是常规代码文件一样。我安装了Clarius T4代码荧光笔,因此我的T4模板是颜色的,但是 我无法设置断点。 当我单击边距时,什么也不会发生。
我已经尝试了Debugger.break(),并且它启动了一个新实例,但它无法从我的模板中加载代码。我得到一个对话框,上面写着“当前位置没有可用的源代码。”如果我在旋转新实例的另一个实例中加载了相同的项目,则会发生这种情况。
是什么赋予了?
解决方案 3
好的 - 弄清楚了。启动新实例不是一个选择 Oleg的文章 说。 (没有对Sych先生的欺骗,他的博客是T4代码生成的福音!)
- 启动Visual Studio的第二个实例,
- 打开文件(任何文件),以便显示“调试”菜单。
- 选择“附加到进程...”,然后选择其他vs.net实例
- 将模板保存在vs.NET的附件实例中(或右键单击并选择运行自定义工具)
瞧。
其他提示
设置以下内容:
<#@ template debug="true" hostSpecific="true" #>
<#@ import namespace="System.Diagnostics" #>
然后在您的模板中
Debugger.Launch();
VS将在VS 2010的新实例中启动JIT调试器
在Visual Studio 2013中:
- 在.tt文件中设置断点
- 右键单击解决方案资源管理器中的.TT文件
- 选择“调试T4模板”
- 完毕!
无需附加第二个实例。
确保您在模板指令中打开调试选项:
<#@ template语言=“ c#” debug =“ true”#>
这使T4保存在Visual Studio中调试所需的源代码和符号文件。
不隶属于 StackOverflow