After signing all my assemblies with strong keys, I've found that the
application refuses to deserialize any SOAP serialized data. The message
says:
Parse error, no assembly associated with the Xml key.
and refers to the Xml key:
<a1:C_XOptions id="ref-1"
xmlns:a1="http://schemas.microsoft.com/clr/nsassem/SU2000Plus/sekretariat_RM
%2C%20Version%3D3.99.1371.18778%2C%20Culture%3Dneu tral%2C%20PublicKeyToken%3
D739f0b7b1c47b157">
The problem is caused by the version stamp in the key (3.99.1371.18778) -
after each rebuild the version number is incremented and the deserializer
cannot deserialize the data serialized by the previous version.
Alas, I did not find any simple way to solve the problem. How do I make the
SOAPFormatter version independent? Note that the problem started to occur
after I've signed all assemblies.
I use SOAPFormatter to store the internal settings of my application. I
cannot use XmlSerializer because it cannot handle the complicated structure
of the settings. The SOAPFormatter was the great choice until now. I have to
find a way to make it "version independent" because it would be really
annoying for the user to lost his/her setting with each new version of the
application.
Is there any simple solution? Thanks in advance for any help,
Wiktor Zychla