BizTalk Addin for Reflector
This is an addin for Reflector that allows you to list all BizTalk artifacts contained in an assembly and extract them.
Installation
Donwload the attached file and extract Reflector.BizTalkDecompiler.dll into the same directory as Reflector (otherwise it won't work). Go to View|Add-Ins in Reflector, and Add Reflector.BizTalkDecompiler.dll.
Usage
Using File|Open..., add the BizTalk assembly you'll like to decompile to Reflector's assemblies list. Right click on the BizTalk assembly and select "BizTalk Server 2006 Artifacts".
You should see a list of all artifacts, with their type, name and namespace they were compiled into. Click the "Decompile..." button to decompile all selected artifacts into source files. You can select / de-select artifacts by using the selection check box on the right.
In the decompile dialog, specify the path to the directory where files should be created and press "Decompile". The decompile dialog is multi-threaded for a more responsive user interface.
Screenshot
Limitations
[Update June 19, 2006 - 10:00] This addin was compiled for the .NET Fraework 2.0 and Reflector 4.2 (and above). It will not work with the .NET Framework 1.1: you will get an error comparable to:
System.BadImageFormatException: The format of the file 'Reflector.BizTalkDecompiler.dll' is invalid.
File name: "Reflector.BizTalkDecompiler.dll"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm)
at ᜧ.ᜀ(String A_0)
I am currently investigating a port to .NET 1.1 but I do not promise I'll do it. The addin was designed for BizTalk Server 2006 which requires the .NET Framework 2.0 so you should have any problem.
Most BizTalk artifacts can be decompiled back to their original source form (Pipelines, Schemas). Some artifacts cannot be decompiled to their original source (Maps). When decompiling a map, the addin will export the XSLT which was generated by the compiler, not the actual .btm file.
[Update June 9, 2006 - 13:00] Recovering the full source of orchestrations is possible but invovles a manual step. After exporting, open the .odx file in the BizTalk Orchestration Designer (in Visual Studio) and save it without making any change. The editor will rebuild missing information which cannot be infered from the compiled assembly. Once this is done, the resulting .odx file should behave as if it was the source of the orchestration.
Feedback welcome!
[ Update June 9, 2006 - 12:20] This tool is handy but I'd like to make sure everyone understands that is is offered "AS IS" with no warranty. I did not anticpate so much interest in the tool so I had to append this legal disclaimer.
This being said, if you found a bug, want a new feature or just want to say that you are using BizTalk decompiler and you love it, feel free to use the "Email" link above to drop me a note!
Reflector.BizTalkDecompiler.zip
Comments
Anonymous
June 23, 2006
Gilles Zunino [MSFT] has developed another really cool tool for BizTalk Server 2006 developers. This time it's an add-in for Lutz Roeder's Reflector that will decompile BizTalk assemblies into their original artifact formats.Anonymous
July 23, 2006
PingBack from http://gaba.lenard.hu/2006/07/23/biztalk-linkek/Anonymous
August 25, 2006
By now every developer out there should be using Reflector.  Reflector is written by Lutz Roeder and...Anonymous
September 26, 2006
Extract BizTalk artifacts from assemblies using ReflectorAnonymous
September 29, 2006
This seems like a GREAT add in for the ever useful Reflector(probably the .NET utility that i can't liveAnonymous
September 29, 2006
Extract BizTalk artifacts from assemblies using ReflectorAnonymous
June 27, 2007
My BizTalk Decompiler only works with Reflector 4. The updated version for Reflector 5 has been availableAnonymous
October 27, 2007
Probabilmente la maggior parte degli sviluppatori .NET, alla domanda "Quali sono i tool indispensabiliAnonymous
November 24, 2007
PingBack from http://feeds.maxblog.eu/item_1174549.html