Products | Versions |
---|---|
TIBCO EMS Transport Channel for WCF | - |
Not Applicable | - |
Resolution:
TIBCO.WCF.DLL 2.0.0.0 has a dependency on TIBCO.EMS.dll 1.0.700.12. The dependency can be confirmed by running the following command in the Visual Studio command line tool.
ildasm /text C:\tibco\ems_wcf\2.0\bin\TIBCO.EMS.WCF.dll
Output:
====
.assembly extern TIBCO.EMS
{
.publickeytoken = (5B 83 DB 8F F0 5C 64 BA ) // [....\d.
.ver 1:0:700:12
}
====
After EMS 8.x is installed, the WCF application may fail to start with the exception below.
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'TIBCO.EMS, Version=1.0.700.12, Culture=neutral, PublicKeyToken=5b83db8ff05c64
ba' or one of its dependencies. The located assembly's manifest definition doesnot match the assembly reference. (Exception from HRESULT: 0x80131040)
Or
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'TIBCO.EMS, Version=1.0.700.12, Culture=neutral, PublicKeyToken=5b83db8ff05c64ba' or one of its dependencies. The system cannot find the file specified.
To resolved this issue, use either of the following.
1). Import policy.1.0.TIBCO.EMS.dll under <ems_home>\bin into GAC.
gacutil /i <ems_home>\bin\policy.1.0.TIBCO.EMS.dll
When DLLs are loaded, this assembly redirects the reference from 1.0.700.12 to 1.0.820.7.
2). In the app.config of your application, add the following section.
=====
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="TIBCO.EMS"
publicKeyToken="5b83db8ff05c64ba" />
<!-- Assembly versions can be redirected in application,
publisher policy, or machine configuration files. -->
<bindingRedirect oldVersion="1.0.700.12" newVersion="1.0.820.7" />
</dependentAssembly>
</assemblyBinding>
</runtime>
...
=====