Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Serialization problem

1 view
Skip to first unread message

Phil

unread,
Oct 12, 2009, 5:11:33 AM10/12/09
to
I am trying to use binary serialisation to store and retrieve objects from
file and to/from a database. This all seemed to work fine when running in
the IDE, but when I build a release version of my application, it no longer
reads the data from the files that I have generated, nor from the database
that I have written to with the debug version.I don't get any error
messages, I just get all my properties set to nothing.. This application is
likely to be under continual development for some time, so I will need to be
able to access the same data with both the debug and release versions.

Any suggestions appreciated.
TIA
Phil.

PS. I have also tried using the XMLSerializer (I would prefer binary as it
is more compact for storage in a database), but I get an error indicating
that multi-dimensional arrays are not supported.


Phil

unread,
Oct 12, 2009, 10:40:25 AM10/12/09
to
>I am trying to use binary serialisation to store and retrieve objects from
>file and to/from a database. This all seemed to work fine when running in
>the IDE, but when I build a release version of my application, it no longer
>reads the data from the files that I have generated, nor from the database
>that I have written to with the debug version.

Seems to be working now.
I think it may have just have been an issue with file locations.


Phil

unread,
Oct 14, 2009, 9:59:40 AM10/14/09
to

"Phil" <p> wrote in message
news:0pednSC-iudHok7X...@brightview.co.uk...

Well I thought it had started working, but it's failing again now.
When I run from the VB IDE it all works fine, and when I run my deployed
application it all works fine, but if I try to use a file created when
running under the IDE it will not deserialise properly when running my
deployed application and vice versa.

Any suggestions appreciated.

My serialisation code is very simple:

' serialise:
With New BinaryFormatter
.Serialize(MyStream, MyObj)
End With

' de-serialise:
MyObj= (New BinaryFormatter).Deserialize(Stream)


Adam Benson

unread,
Oct 15, 2009, 6:14:37 AM10/15/09
to
>> it will not deserialise properly when running my deployed application and
>> vice versa

What happens? You get an object back but its corrupt? You get an exception?

If you get an exception what is it?

Cheers,

Adam.
=========


Phil

unread,
Oct 15, 2009, 11:41:06 AM10/15/09
to
>
> What happens? You get an object back but its corrupt? You get an
> exception?

No exception. I get an object but all the properties are set to Nothing. The
properties are all arrays of Double or arrays of String.


Phil

unread,
Oct 15, 2009, 12:31:32 PM10/15/09
to
I have done a bit more testing, and I think the problem may be to do with
versioning. I get the same problem if I serialise to a file, and then
rebuild and re-deploy the application. The new version does not seem to want
to deserialise the data produced with the old version.
I have tried setting
AssemblyFormat = Formatters.FormatterAssemblyStyle.Simple
before the Serialze and Deserialize
calls, but this doesn't seem to make any difference.

Adam Benson

unread,
Oct 21, 2009, 4:25:25 AM10/21/09
to
Something may be blowing up behind the scenes as its deserializing which is
why your object has nothing in it. Try using DbgView to see if there are any
exceptions being thrown as your object is deserializing.

AB

"Phil" <p> wrote in message

news:BI6dnbJJLov400rX...@brightview.co.uk...

Phil

unread,
Nov 4, 2009, 5:20:00 AM11/4/09
to

"Adam Benson" <Adam....@community.nospam> wrote in message
news:O4ixLgiU...@TK2MSFTNGP05.phx.gbl...

> Something may be blowing up behind the scenes as its deserializing which
> is why your object has nothing in it. Try using DbgView to see if there
> are any exceptions being thrown as your object is deserializing.
>
Thanks Adam,

I've left this for a while, as I didn't seem to be getting anywhere, but I
will need to come back to it soon.
I haven't used DbgView, so I'll take a look at that, and see if it helps to
shed any light on the problem. Is this something included with VS2008, or is
it something extra I need to download?
I did do some further tests last week, and I think my original assumption
was correct, that the problem is an incompatibuility between the release and
debug versions, not anything to do with the version number of the
assemblies. It is a very simple class, just a few private member variables
(mostly arrays of double or string) with public properties to get/set the
values.
I did have an additional complication that my assemblies were being loaded
from a database in the released version rather than directly from a DLL, but
I have moved these classes into a separate new DLL, and I still have the
problem.

Thanks
Phil.


0 new messages