Ken,
if you write serializing procedures, it is recommended that you use only
members in a class to serialize, that represent the actual data (and only
them). What happend here is that Microsoft added some members in the class
DateTimeFormatInfo from the previous to the current version of the
framework. It's highly likely that you don't really need those additional
infos for the data your application's actually dealing with. But since every
member of an object is serialized, the old version of the program only
exported 35 members where the new version wants to deserialize 38 members of
the class - and the deserialize procedure can't find the missing three.
So what can you do? The best thing would be to reconsider the
structure of the data of the class that has to be serialized. Only include
the data, you really need. Having done that, you could provide a converting
tool, that should be based on the old framework version. With that tool you
can, since it's based on the old framework version, read the old files and
write in your new fileformat, you'll come up with. Make sure you include in
the new "to-be-serialized-class" only data types, whose properties are not
likely to be changed in future versions (the best thing is to concentrate on
primitive types only).
Hope that helps,
Klaus
"Ken" <an*******@discussions.microsoft.com> schrieb im Newsbeitrag
news:18*****************************@phx.gbl...
I have a project which is running error free in VB.Net
2002 in a live environment. Now I need to upgrade it to
2003. While building the project it is showing the below
error. This is happening only for some forms. The
others are working fine.
Quote :
C:\Transactions\BL_SFE.resx Resource transformation for
file 'BL_SFE.resx' failed. Possible Version mismatch.
Type System.Globalization.DateTimeFormatInfo has 38
members, number of members deserialized is 35.
:Unquote
Any help?
Rgds
Ken.