Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: vb.net binääriserialisointi

esakom [07.04.2005 18:55:56]

#

Nyt ei ajatus juokse:
Minulla on kaksi vb.net (2003) sovellusta, toinen tekee listan sanoista ja niiden esiintymisistä eri tiedostoissa:

Dim muotoilija As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim fstream As New System.IO.FileStream _
             (txtPolku.Text, IO.FileMode.Create)

        muotoilija.Serialize(fstream, sanalista)
        fstream.Close()

ja toinen sovellus yrittää lukea tuon filen vastaavaan tietorakenteeseen:

Dim muotoilija As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
        Dim fstream As New System.IO.FileStream _
             (Application.StartupPath & "\indeksi.bin", IO.FileMode.Open, IO.FileAccess.Read)

        sanalista = CType(muotoilija.Deserialize(fstream), ArrayList)
        fstream.Close()

Määrittelyt molemmissa ohjelmissa on seuraavat:

<Serializable()> Public Class cSanaInfo
        Public sana As String
        Public tiedostot() As String
    End Class
Public sanalista As New ArrayList

Nyt ongelma on että ilmeisesti binaryformatter serialisoi myös sovelluksen assembly-tietoja ks. tiedostoon, eikä lukija ohjelmani suostukaan tällä tavalla lukaisemaan tiedostoa assembly-ristiriidan takia? Olenko ymmärtänyt oikein, ja jos näin, miten korjaan ongelman? En oikein haluaisi puuttua assembly-tietoihin, vaan hoitaa asian nätisti koodista. Kyseinen tiedosto on binääriserialisoinnilla kolme megaa, mutta jos laitan sen xml-muotoon, jossa sain toimimaan, koko on jo melkein neljätoista megaa, mikä ei ole hyväksyttävä koko.

Virheilmoitusta voi ihastella osoitteessa:
http://www.esakom.net/ongelma.gif

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta