As of BizTalk 2020 and Visual Studio 2019, when you click on the map grid, you get the map properties window, on which you can select various “XSLT Transformation Engines”.

BizTalk 2020 supports XSLT 3.0 via the Saxon transformation tool, which is created by Saxonica. Microsoft apparently chose the open source “Home Edition” (HE), and the current version is version 9.

Below are the editions of Saxon 9 provided by Saxonica, which I believe is Michael Kay’s company. He’s one of the founding fathers of XSLT, has pushed through new standards, and has written several book on XSLT and XPATH.

You can also write a .NET program, following an interface, and plug-in other XSLT transformation engines. If you do so, you have to create a small XML file to load other options in the above window.


The original default options are:

When you create a brand new map (.btm file), the default option is “undefined”, which means that BizTalk will continue to run the original XSLT 1.0 transformation.

I’m still not sure what happens if you select “.Net Framework”.


As shown below – you type in “biztalk” and search, and no matches are found, even though installed BizTalk 2020 after Visual Studio 2019.



Open Visual Studio 2019 with “no code” option, i.e. you don’t have to create a project to get VS2019 to open. From the menus at the top, click “Extensions” then “Manage Extensions”.

In the manage extensions search box in the upper right, type in “BizTalk” and press enter to start the search.
Click on “BizTalk Server” and “Download” beside it (download is not shown in this image):

The VSIX Installer opens in a separate windows once you close Visual Studio. You must click the “Modify” button for it to start the install.

Let is run a while, it may take 2 to 5 minutes:

Finally, when it has completed after a few minutes, close the VSIX installer, then open Visual Studio again.

When you re-open Visual Studio now, click “Create a new project”, search for “biztalk” and now you should see the templates there. Usually, you will select ‘Empty BizTalk Server Project”.

This is what it looks like when it is correct: