Using Pipeline.exe

Last week I used Pipeline.exe to test a custom pipeline. Using Pipeline.exe has the advantage that you don’t have to deploy the pipeline in order to test the pipeline. The disadvantage is of course that you are not running the pipeline under conditions similar to production.

If your custom pipeline uses the flat file assembler / disassembler, Pipeline.exe will not execute properly. This is because Pipeline.exe does not access the BizTalk database. One solution is to remove the assembler / disassembler components and test them separately with FFDasm.exe and FFAsm.exe.

To Debug a Custom Pipeline using Pipeline.exe and Visual Studio
– Load the custom pipeline project solution into Visual Studio. Set the pipeline project as your start project.
– Change the output path for your solution to Pipeline Components. In Solution Explorer, right-click your project, click the Build tab, and then change the Output Path by clicking the Browse button. For example: ……Program Files (x86)Microsoft BizTalk Server 2010Pipeline Components.
– Change the start action for your solution. In Solution Explorer, right-click your project, click the Debug tab, click Start external program, and choose Pipeline.exe (folder = C:Program Files (x86)Microsoft BizTalk Server 2010SDKUtilitiesPipelineTools).
– Under Start Options, enter the command line arguments appropriate for your component. I used the following commandline argument: C:PBA.vNext_DMRfs.Integration.CommonPipelinesAuditArchiveMapTransmit.btp -d C:PaulTEPR_SCS-SV.xml -m C:PaulTest.txt. The -m parameter specifies the output file. Handy!
– Set your breakpoints in the custom pipeline components. Not in the custom pipeline!
– Press F5 to begin debugging.

Additional info

To get it working, I had to restart Visual Studio. You can ignore deployment errors when running the test.