none
Debug Map fails to call external assembly

    Question

  • Hello Guys,

    My problem seems to be very strange... I'm trying to debug a Map using VS 2013 . The map calls external C# functions.

    I've setup extensionobjects. BizTalk project is debug enabled. The external assembly is in GAC with its PDB. But still Debug map fails while calling this function from external assembly.

    Surprisingly Test Maps works and calls external assembly but Debug Map fails.

    Dev Environment is Virtual Machine on Azure with VS2013 and BizTalk 2013R2

    Any help much appreciated!

    Saturday, July 8, 2017 5:57 AM

Answers

All replies

  • Hi,

    The Debug Map option has never worked with Extension Objects so what you are seeing is the unfortunately expected behavior. It is better if you first create separate executable to test the scenarios and then use it in the map.

    One workaround is mentioned in the link below:

    http://maximelabelle.wordpress.com/2011/09/09/debugging-xslt-stylesheet-with-custom-extension-objects-from-within-visual-studio/


    Rachit Sikroria (Microsoft Azure MVP)

    Saturday, July 8, 2017 7:10 AM
    Moderator
  • Correct, there are a number of scenarios Debug Map does not cover.

    Now, what exactly are you trying to debug?  There are ways around this depending in exactly what you're trying to do.

    Saturday, July 8, 2017 11:02 AM
    Moderator
  • You can try to debug map by removing the code that calls external assembly. This will show you in debug mode, how and when you hit that code block.

    And , test the functionality of external assembly by using console app etc separately (outside Biztalk)

    Sunday, July 9, 2017 4:08 AM
  • Hi,

    I faced the same issue recently, turns out you cannot debug the map which calls the external assembly and the functions in it. The best way for you to debug is to o a debugging separately. 1) Hard code the value or structure that you are expecting that your external assembly will generate and remove the scripting functoid that calls the assembly. Now debug the map.

    2) For the external assembly called, you can write the unit test case to test the execution of the logic. 

    Above is the way I achieved my debugging.

    Thanks


    Mandar Dharmadhikari

    Monday, July 10, 2017 1:19 AM
    Moderator