Buscar este blog

martes, 28 de octubre de 2014

Biztalk 2010 - Debug orchestration code

Situación:
  • Se tiene una solution de Visual Studio 2010
  • Dentro de la solution hay un proyecto C#
  • Se despliega la solution como una aplicación Biztalk 2010

Propósito:
  • Debugear código de un behaviour

Solución:
  • En las propiedades del proyecto, en build, seleccionar configuración Debug.
    Si el proyecto forma parte de una solution, también se puede ir a las propiedades de la solution y en Configuration Properties > Configuration, seleccionar el modo de build de cada proyecto que lo componen.
    Parece que dentro de una solution, prevalece esta configuración superior, así que habrá que cambiarla  aquí
  • Hacer el build del proyecto
  • Ir al directorio en disco y entrar en bin > debug (también obj>debug)
  • Ahí habrá una dll
  • Abrir un Visual Studio Command Prompt. Es una aplicación accesible desde el menú inicio, dentro del directorio de Visual Studio y Visual Studio Tools.
  • Navegar hasta la ruta de la dll.
  • Ejecutar gacutil /if {rutaALaDLL}
  • Reiniciar el servicio de biztalk
  • En Services aparecerá como BizTalk Service BizTalk Group : BizTalkServerApplication
  • También puede hacer falta reiniciar el servicio del host de la aplicación
  • En Visual Studio seleccionar el proyecto
  • En la barra de herramientas superior ir a Debug > Attach to Process...
  • En el panel abierto, seleccionar el proceso BTSNTSvc.exe. En el Type pone T-SQL, Managed(v4.0....), x86
  • Ejectuar la orquestación.
  • Cuando se ejecute ese código parará en los breakpoints.

Nota:
El directorio de caché de Biztalk, donde se guardan las dll, es C:\Windows\Microsoft.NET\assembly\GAC_MSIL\. Se pueden actualizar las dll a mano, pero eso puede dar problemas porque están abiertas por el proces dllHost.exe.

No hay comentarios:

Publicar un comentario