He creado una pequeña GUI para la administración de algunas configuraciones en un archivo app.config. La GUI se lanza como parte de mi producto, lo que permite cambiar los valores en el archivo app.config, sin abrir esto en un editor de texto.Evite información específica de la versión en configSection en app.config
Las propiedades se implementan en una configuración de configuración personalizada, por lo que es fuertemente tipeado en el código. Mi problema es que cuando se actualiza el archivo app.config (al guardar desde la interfaz gráfica de usuario), el nombre completo de mi conjunto está escrito en el configSection así:
<section name="ConfigurationSettings" type="PerformanceDude.MSBuildShellExtension.Common.ConfigurationSettings, Common, Version=2.2.1.0, Culture=neutral, PublicKeyToken=1ab1b15115e63xxx" />
Cuando actualizo a esta asamblea un nuevo número de versión, la versión del ensamblado del código GUI ya no coincide con las referencias de ensamblaje en la aplicación.config.
Éste es cómo cargar los ajustes:
var config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = ConfigFilePath }, ConfigurationUserLevel.None);
var settings = Config.GetSection("ConfigurationSettings") as ConfigurationSettings;
Así es como puedo guardar los ajustes:
config.Save(ConfigurationSaveMode.Minimal, true);
que no quieren escribir un script de actualización de cambiar la versión de actualización cada vez que . ¿Alguien sabe una gran solución para este problema?
¿Es posible incluir el código que usa para serializar y guardar la configuración, por favor? – dash
El código de cargar y guardar está ahora en la descripción :) – ThomasArdal
¿Alguna vez descubrió una solución para esto? – Zoomzoom