J'ai bien trouver ceci:
1 2 3 4 5 6 7 8 9 10 11 12 13
| ExeConfigurationFileMap filMap = new ExeConfigurationFileMap();
//todo voir pour etre sur de toujours pointer sur lui
filMap.ExeConfigFilename = @"C:\Visual Studio 2008\Projects\Stage\ClientServeurLib\bin\Debug\ClientServeurLib.dll.config";
if (!File.Exists(filMap.ExeConfigFilename))
{
return;
}
this.config = ConfigurationManager.OpenMappedExeConfiguration(filMap, ConfigurationUserLevel.None);
this.SectappString = (ClientSettingsSection)config.GetSection("applicationSettings/ClientServeurLib.Properties.Settings");
this._chaineConnection = config.ConnectionStrings.ConnectionStrings["ClientServeurLib.Properties.Settings.ChaineConnection"].ConnectionString;
this._portServeur = Convert.ToInt32(SectappString.Settings.Get("portServeur").Value.ValueXml.InnerText);.... |
Cela me permet de récupérer les données du fichier xml.
Mais je n'arrive absolument pas à actualiser le fichier lorsque je fais.
this.config.Save(ConfigurationSaveMode.Modified);
J'ai essayé les 3 énumérés sans réussite.
La seule chose qui soit modifié c'est la connectionString, et il m'a rajouté une autre connectionString "name = localSqlServer" connectionString="data source =.\SQLEXPRESS....", dont je ne connais pas la provenance????
J'ai lu sur le net qu'on pouvait créer un classe héritant de ConfigurationSettings, mais je voudrais éviter cela. Il me semble que tout ce qui est CLR, attributes ... fonctionnent qu'à partir du Framework 3.5. (déja que mon maitre de stage m'a demandé de descendre une appli mobile vers le Compact framework 1.0
) je ne voudrais pas me retrouver coincé.
Autre chose, comment je pourrais etre sur de toujours pointer vers ce fichier une fois l'installation passée.(cf todo). La le fichier est codé en dur, mais une fois installé je doute que cela soit à dans le répertoire "C:\Visual Studio...".
J'ai déjà essayé en passant par environnement.CurrentDirectory, mais cela me donne le répertoire de l'appli "courante". Or ce fichier config, n'a pas d'exe associé. Il fait parti d'une librairie de classes, de laquelle sont dépendants les 2 autres projets.
On peut récupérer le répertoire dans lequel a été installé le fichier? comment affecter ce chemin dans le code?
Merci d'avance.
Bonne nuit.
Partager