One bug that currently exists in all pre-release versions of BizTalk 2006 is the way an external assembly reference is held onto from within a map. If you call an external assembly and use the “Test Map” option to test your map, you have to restart Visual Studio before any modifications to that external assembly is reflected in the map.

In my scenario I have two projects in my solution – one c# Class Library that contains a class to be called from a map, the other a BizTalk project containing the map to use. The map solely uses an external XSLT file and the external call is made in a fashion similar to that below:

<xsl:variable name=”fragment” xmlns:externalHelper=”” select=”externalHelper:MyExternalCall(node())”/>

This works as expected until you change the c# class (recompile and re-GAC), as any changes are not reflected when testing the map. I have tried restarting all sorts of processes to get these changes to take effect. The only solution I have found is to literally close Visual Studio and start it again.

During development this is certainly a pain in the neck, especially when you are forced to use a rather slow virtual machine. I am waiting to see whether the product team implement a fix prior to the full release, but I cannot see it making it unfortunately, as it is hardly high priority.

So why did I post this? Hmm, partly a reminder, a warning and a medium for voicing my displeasure 🙂