Migrating your .NET applications
A .NET application built using Platform Symphony 7.1 or earlier versions will not automatically run in your upgraded IBM® Spectrum Symphony environment.
About this task
A .NET application built using Platform Symphony 6.1.1 or earlier versions will not automatically run in an IBM Spectrum Symphony 7.3.2 environment. This incompatibility can only be resolved by recompiling your application using the latest supported version of IBM Spectrum Symphony SDK (note that as of IBM Spectrum Symphony 7.2.1, the IBM Spectrum Symphony SDK is no longer offered). By recompiling, your application will automatically reference the new version of the assembly and run without problems. This is the best option and is the strategy recommended by Microsoft for maximum compatibility.
A .NET application built for Platform Symphony 7.1 or later will not automatically run in your upgraded IBM Spectrum Symphony environment. This is a known issue caused by the .NET embedded Publisher's Policy infrastructure that is strictly enforced by the framework. Any published assembly with a version number that is different from your current IBM Spectrum Symphony release will be treated as incompatible by the framework.
Procedure
- Recompile your application using the IBM Spectrum Symphony
7.3.2 SDK. By recompiling, your
application will automatically reference the new version of the assembly and will run without
problems. This is the best option and is the strategy recommended by Microsoft for maximum compatibility.Note: As of IBM Spectrum Symphony 7.2.1, the IBM Spectrum Symphony SDK is no longer offered.
- Create a configuration file for your client and service to override the Publisher's Policy.
Since the IBM Spectrum Symphony
7.3.2 assembly is designed to be
fully compatible with code using a previous version, it is safe to override the publisher's policy
and allow the framework to ignore the version number difference between IBM Spectrum Symphony
7.3.2 and Platform Symphony 7.1 or 7.1.1.The override can be achieved by creating a file named <complete executable filename>.config. For example, if your client executable has the name SyncClient.exe then you would need to create a file named SyncClient.exe.config and place it in the same location as the executable. The .NET framework will automatically parse the file and use it to override the Publisher's Policy. Here is an example of the configuration file contents (64-bit version):
<?xml version ="1.0"?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <publisherPolicy apply="no"/> <dependentAssembly> <assemblyIdentity name="Platform.Symphony.Soam.Net4.0_64" publicKeyToken="07d115044e882e03" culture="neutral" /> <bindingRedirect oldVersion="7.1.0.0" newVersion="7.3.2.0"/> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
If your service is to run in the IBM Spectrum Symphony 7.3.2 environment, you need to add the configuration file to the service package and redeploy the package.