La depuración de la plantilla T4 en VS 2010 se bloquea IDE

votos
16

Estoy tratando de depurar una versión ligeramente modificada de la Entidad Generador ADO.NET POCO plantilla usando las direcciones Oleg Sych publicado hace unos años. He modificado el DbgJITDebugLaunchSetting clave como se recomienda.

Me sale un cuadro de diálogo que indica que un punto de interrupción definido por el usuario ha sido golpeado. Sin embargo, en lugar de ser presentado con la opción de depuración con una nueva instancia de VS 2010, la instancia original de VS 2010 acaba de accidentes y auto-reinicia.

¿Es posible depurar las plantillas T4 con VS 2010?

Publicado el 31/05/2010 a las 17:59
fuente por usuario
En otros idiomas...                            


5 respuestas

votos
15

en Visual Studio 2010 es necesario llamar a Debugger.Launch () antes de Debugger.Break ().

Respondida el 31/05/2010 a las 21:11
fuente por usuario

votos
2

También es necesario debug = true:

<@ # Plantilla de depuración = "true" #> System.Diagnostics.Debugger.Launch (); Debugger.Break ();

http://msdn.microsoft.com/en-us/library/bb126338.aspx

Respondida el 02/06/2010 a las 06:05
fuente por usuario

votos
3

solución final que funciona para mí:

regedit:

(sistemas x86) clave: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework

(sistemas x64) clave: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework

valor: DbgJITDebugLaunchSetting

datos: 0x2

tt plantilla:

<#@ template debug="true" hostSpecific="true"  #>
<# System.Diagnostics.Debugger.Launch(); System.Diagnostics.Debugger.Break(); #>
Respondida el 29/06/2010 a las 05:51
fuente por usuario

votos
7

En lugar de utilizar System.Diagnostics.Debugger.Launch (); o Break (), adjuntar el depurador manualmente.

  1. En una segunda instancia de VS2010, abra la plantilla T4 desea depurar (sólo el archivo .tt está muy bien)
  2. Ir a la depuración -> Asociar al proceso y encontrar el proceso devenv.exe originales
  3. Añadir un punto de interrupción periódica (bola roja) al lugar que desee iniciar la depuración (en la segunda VS2010 todavía)
  4. Ir a la VS2010 original, guardar el archivo .tt y ... ¡bingo! La segunda instancia de VS2010 será depurar su plantilla.
Respondida el 05/01/2011 a las 11:56
fuente por usuario

votos
1

Para añadir a la solución de andrecarlucci, si guarda el archivo, se le pedirá que vuelva a cargarlo en la segunda instancia de Visual Studio antes de poder depurarlo. Si no es necesario realizar más cambios pero es necesario para depurar varias veces, usted no tiene que guardar cada vez con el fin de entrar en el código. Usted puede simplemente haga clic en el botón Plantillas de transformar todo en la barra de herramientas del Explorador de soluciones en la instancia original de Visual Studio.

Respondida el 11/02/2011 a las 07:37
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more