none
How to use custom pipeline dlls in Biztalk Projects so that they appear in the send/receive pipeline configuration after deployment?

    Question

  • I have a existing Biztalk application that uses custom pipelines for receiving excel files. I have the dll of that custom pipeline. Now i created another BT application that needs to use that same custom pipeline. But after i deploy the application in Biztalk, i can't see the  pipeline available in Receive pipeline configuration combo box during configuration. I have referenced the custom pipeline dll in my project before deploying, but that doesn't help. I also copied the dll in the C:\Program Files (x86)\Microsoft BizTalk Server 2010\Pipeline Components folder and C:\Program Files (x86)\Microsoft BizTalk Server 2010 folder, but that doesn't make the pipelines appear during configuration too.

    Can anyone give any idea on how can i use these custom pipeline dlls in project so that they appear in configuration after deployment?
    Monday, January 13, 2014 5:12 AM

Answers

  • No.

    Just adding an Application reference does not mean that the processes get interlinked or if the Application is stopped, the other one will stop too.... it is just to share the resources.

    In regards to publishing the same file into two applications.. let me ask you, what will happen if you place a copy of the same dll into two locations and use gacutil /i - will you get two side-by-side deployments of the same dll? Similarly while gacutil will not warn you BizTalk does and will not permit a redeployment of an previously deployed resource into a different application.

    Regards.

    Monday, January 13, 2014 7:23 AM

All replies

  • If you plan on using the deployed pipeline across multiple applications in BizTalk, the BizTalk Application (using the BizTalk Server Administration Console) should have the other application [where the pipeline is deployed] as reference.

    For e.g.: Custom Pipeline (myCustomPipeline) part of a BizTalk Project (dll - myCustomProject.dll) deployed under Application [Some Application] also to be used in another BizTalk Application [Some Other Applicaiton] then using BizTalk Server Administartor

    1. right click the "Some Other Application" and select "Properties"
    2. on the "Properties" page, left hand side, select "References"
    3. on the right-hand side, use "Add" to add the "Some Project" as a reference.

    Doing so will ensure that ALL resources (maps, schemas, orchestrations, send ports, receive locations, rules, etc.) deployed for "Some Application" are available/referensible in "Some Other Application".

    Regards.

    Monday, January 13, 2014 5:38 AM
  • But then the myCustomProject requires to be running along with my 'Some Other Application', which i don't want. Is there any way to keep my 'Some Other Application' independent of that application? Can i Just use the myCustomPipeline.dll somehow so that my 'Some Other Application' has the pipeline available during configuration?

    And i don't even know how the first application that already has the pipeline available in configuration made the pipeline available in configuration. I mean what if i don't have any such application already deployed, just have the customPipeline.dll?

    Monday, January 13, 2014 6:06 AM
  • Hi Julien,

    u can use admin console to add biztalk assemblies.

    in ur application Right click on Resources-->Add-->BizTalk Assemblies.

    refer to below link for more information:

    msdn.microsoft.com/en-us/library/aa558703.aspx

    But u can't add any assembly which is already added to another application.

    If u want to add assemblies which already added to another application then do as SHANKY said.

    OR

    u can create a new application for common assemblies like "CommonPipeline" and in this application add ur common pipeline assembly and then add reference of "CommonPipeline" to other Applications in which u need these pipelines.

    Regards


    • Edited by Rohit Shahi Monday, January 13, 2014 7:21 AM
    Monday, January 13, 2014 7:21 AM
  • No.

    Just adding an Application reference does not mean that the processes get interlinked or if the Application is stopped, the other one will stop too.... it is just to share the resources.

    In regards to publishing the same file into two applications.. let me ask you, what will happen if you place a copy of the same dll into two locations and use gacutil /i - will you get two side-by-side deployments of the same dll? Similarly while gacutil will not warn you BizTalk does and will not permit a redeployment of an previously deployed resource into a different application.

    Regards.

    Monday, January 13, 2014 7:23 AM
  • Hi,

    IMO create a common BizTalk application on BizTalk Admin Console and add your custom pipeline assembly in that new application as a resource. With this, you don't need any other application to be started apart from this common application. Any other application who wants to use this pipeline will refer this common application.

    Now you will not have to be bothered about whether any other application is started or not, as your application is only dependent on common application.

    Hope this will help.

    HTH,
    Sumit


    Sumit Verma - MCTS BizTalk 2006/2010 - Please indicate "Mark as Answer" or "Mark as Helpful" if this post has answered the question

    Monday, January 13, 2014 7:40 AM
  • add refrence to other application as already suggested.

    Or Include that dll in your project and a rename it to something else so that it becomes brand new pipeline but with same functionality as existing application. But on downside, here you have 2 copies of exact same code deployed with different names in your console.

    Monday, January 13, 2014 9:43 AM
  • What Shanky said that the way we use to share artifact on different applications. Create one common application and keep in your reusable artifacts.

    Rename artifact - is not suggest able way for long run support application/maintenance and in framework design.

    Note: Same way we use ‘EDI pipeline’and ‘Esb Tool kit’ artifacts. 

    Monday, January 13, 2014 10:29 AM