2010-08-31 11 views
0

Je ne suis pas en mesure d'écrire dans App.conf dans .Net3.5.app.config dans .Net3.5

Selon this question il va comme dans .Net2.0, mais cela ne fonctionne pas. Je peux lire à partir de la configuration comme ceci:

var connStr = ConfigurationManager.ConnectionStrings[ApplicationConstants.CisConnectionStringName].ConnectionString 

Mais il est impossible pour moi d'écrire dans ce fichier, car le compilateur dit qu'il est impossible en raison du niveau de sécurité.

J'ai googlé pendant plusieurs heures mais je n'ai trouvé aucune solution. J'espère que tu peux aider.

Thx

Edit:

J'ai essayé différentes façons:

ConfigurationManager.ConnectionStrings[ApplicationConstants.CisConnectionStringName].ConnectionString = "string"; 

aussi ...

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
NetSectionGroup netSectionGroup = config.GetSectionGroup("system.net") as NetSectionGroup; 
netSectionGroup.Settings.HttpWebRequest.UseUnsafeHeaderParsing = true;      
config.SaveAs(@"C:\ProgramData\test.config", ConfigurationSaveMode.Full); 

AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\ProgramData\test.config"); 

aussi ...

string exePath = System.Reflection.Assembly.GetEntryAssembly().CodeBase.Substring(0, System.Reflection.Assembly.GetEntryAssembly().CodeBase.LastIndexOf('/')); 
     var configuration = ConfigurationManager.OpenExeConfiguration(exePath); 
... 

(exemples non valide pour le chemin donné, comme je l'ai testé ils où ;-))

Mais rien ne fonctionnait. Le fichier de configuration est dans le même répertoire que le fichier .exe (actuellement "C: \ Users \ MyUser \ SVN \ CIS \ Assemblées")

+0

Pouvez-vous nous montrer comment vous essayer d'écrire les paramètres? Où se trouve votre fichier de configuration? – jgauffin

Répondre

1

Cela a fonctionné pour moi:

System.Configuration.Configuration config =ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 

     config.AppSettings.Settings["oldPlace"].Value = "3";  
     config.Save(ConfigurationSaveMode.Modified); 
     ConfigurationManager.RefreshSection("appSettings"); 
+0

C'est le 'c.Value' que j'ai cherché thx – Tokk