The following error may be encountered processing an XML document in the receive pipeline when using Commerce Gateway with Biztalk 2010 and Visual Studio 2010:
There was a failure executing the receive pipeline: “Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=18.104.22.168, Culture=neutral, PublicKeyToken=31bf3856ad364e35” Source: “XML disassembler” Receive Port: “Navision_to_CommerceGateway” URI: “CG://Navision_to_CommerceGateway” Reason: The document specification <Assembly Name> from assembly <Assembly Name, Version=22.214.171.124, Culture=neutral, PublicKeyToken=Token ID> failed to load. Verify the schema for this document specification is deployed and is in the Global Assembly Cache.
In this scenario, Commerce Gateway Service hosts a BizTalk isolated host. The receive pipeline is executed within the context of this service. BizTalk Server 2010 by default deploys and looks for assemblies in the .Net Framework 4.0 Global Assembly Cache (GAC). The Commerce Gateway Service, however, by default runs on .NET Framework 2.0 and looks for assemblies in the .NET Framework 2.0 GAC. To work around this error, you can place the assemblies used by the receive pipeline in the .NET Framework 2.0 GAC.
To place these assemblies in the .NET Framework 2.0 GAC, use the gacutil tool, which ships with the .NET Framework. The tool will be located under <root>\ProgramFiles\MicrosoftSDKs\Windows\v6.0\Bin\gacutil.exe. Note that there might be multiple versions of the gacutil tool on your computer. To determine that you are using the correct version (version targeting .NET 2.0 and which will install into .NET 2.0 assembly cache), Open a command prompt as an administrator, browse to this path and type gacutil.exe. If you see a version number less than 4.0,, you have the correct version of the tool.
You can read more about how to use the tool to install assemblies into the GAC here: http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx.