Per dare un po 'di sfondo.Buona pratica di codifica per il salvataggio dei dati nei file in .net
Ho creato un'applicazione che consente agli utenti di salvare le impostazioni e quindi richiamare le impostazioni in un secondo momento. Per fare ciò ho creato alcuni oggetti serializzabili. Ho ottenuto questo per funzionare utilizzando il BinaryFormatter senza troppi problemi.
L'inizio dei problemi è quando aggiorno il software e aggiungo nuove impostazioni. Ora i miei oggetti serializzabili non corrispondono e quindi devo aggiornare i file. L'ho fatto con successo per alcune versioni. Ma per farlo cerco di deserializzare il file e se lancia un'eccezione, provo con la prossima versione. . . e poi il prossimo. . . e poi il prossimo. . . finché non trovo quello giusto. Quindi devo scrivere le funzioni di conversione per ciascuna delle vecchie versioni per convertirlo nella versione più recente. Ho creato anche un file di "revisione", quindi posso controllare in anticipo la versione che hanno e quindi aggiornarlo, ma devo ancora tenere un sacco di diverse "versioni" in vita e scrivere le funzioni di conversione per tutte loro . . . che sembra intrinsecamente disordinato per me e incline a gonfiare più tardi lungo la linea se continuo a percorrere questa strada.
Ci deve essere un modo migliore per farlo, non so come.
Grazie
C'è una funzionalità incorporata nel .net framework, che inizia con la versione 2, che fa esattamente ciò che si desidera senza dover scrivere il proprio codice. Si prega di vedere la mia risposta qui sotto. – Andy