Ho creato una piccola GUI per l'amministrazione di alcune impostazioni in un file app.config. La GUI viene rilasciata come parte del mio prodotto, rendendo possibile modificare i valori nel file app.config, senza aprirlo in un editor di testo.Evita informazioni specifiche della versione in configSection in app.config
Le proprietà sono implementate in una configSection personalizzata, rendendola fortemente digitata nel codice. Il mio problema è che quando il file app.config viene aggiornato (quando salvo dalla GUI), il nome completo del mio assemblaggio è scritto nel configSection come questo:
<section name="ConfigurationSettings" type="PerformanceDude.MSBuildShellExtension.Common.ConfigurationSettings, Common, Version=2.2.1.0, Culture=neutral, PublicKeyToken=1ab1b15115e63xxx" />
Quando aggiorno questa assemblea a un nuovo numero di versione, la versione dell'assembly del codice della GUI non corrisponde più ai riferimenti dell'assembly in app.config.
Questo è quanto ho caricare le impostazioni:
var config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = ConfigFilePath }, ConfigurationUserLevel.None);
var settings = Config.GetSection("ConfigurationSettings") as ConfigurationSettings;
Questo è quanto ho salvare le impostazioni:
config.Save(ConfigurationSaveMode.Minimal, true);
non voglio scrivere uno script di aggiornamento modificando l'aggiornamento di versione ogni volta che . Qualcuno conosce un'ottima soluzione a questo problema?
È possibile includere il codice che si usa per serializzare e salvare la configurazione per favore? – dash
Il carico e il codice di salvataggio sono ora nella descrizione :) – ThomasArdal
Hai mai trovato una soluzione a questo? – Zoomzoom