ThinkGeo.com    |     Documentation    |     Premium Support

Binary serialization broken after upgrade

We recently upgrade to 4.0.4 and the ability to deserialize a classbreak object is broken.  The error we are getting is the assmebly manifest does not match the assembly. 


I assume the assembly information is stored in the binary object. 


Is there any way to fix this without installing the old version and recreating the classbreaks?  I tried using the weak and strong named dll's with no success.



Ed, 
  
   This may be related to the strong name change.  In the past we never updated the strong name assembly version as we have always been backward compatible.  Due to a great number of users requesting that we change our assembly version each major release we have put that in place.  My guess is that the binary formatter wants the exact same assembly version as it thinks it is incompatible.  Can you tell us what version you had before 4.0.4 so we can do an accurate test?  One solution, depending on what we find, may be to modify the binary to update the version number of what it is looking for.    To do this we will need to decipher the binary but this may just work.  Please let me know the version as soon as you can. 
  
 David

Ed, 
  
   One other quick item, is it just the class break style?  I mean is that the only thing you tried or is that the only thing that breaks and other stuff works? 
  
 David

David, 
  
 The class break style is the only piece that were serializing and storing.  We ended up recreating the styles, but once deployed, users can create and store custom class breaks and this would have been a problem, as their custom stuff would be lost. 
  
 We were using the 4.0 version. 
  
 I’ll be out until Monday, but I hope this helps. 
  
 Ed

Ed, 
  
   We will look into this and see what we can do moving forward.   
  
 David