Wednesday, September 2, 2015

This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.



Loading 3rd party adapters into BizTalk 2013 R2.   I received the following error every time the adapter tried to run.

This issue is associated with the dll not using the same version of  .Net framework as BizTalk. 
  
<>

The Messaging Engine failed to create the receive adapter "BizCryptoSFTP".
  InboundAssemblyPath: "C:\Program Files (x86)\EldoS\BizCrypto.BizTalk\Assemblies\NET_45\BizCrypto.BizTalk.Adapters.SFTP.dll"
  InboundTypeName: "BizCrypto.BizTalk.Adapters.SFTP.ReceiveAdapter"
  Exception Details: "Could not load file or assembly 'file:///C:\Program Files (x86)\EldoS\BizCrypto.BizTalk\Assemblies\NET_45\BizCrypto.BizTalk.Adapters.SFTP.dll'
or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded."

 <>


ANSWER SOLUTION:

 The host must have 32 bit checked.  This is a check box on the HOST.  To select it you must remove all the Host instance using this host(should be one).   Reload the hosts into the adapter.   I did find a MSDN blog that said that 64 bit will not work with some adapters.