VB 2010 et l'application.fichier de configuration et le fichier de configuration a été modifié par un autre programme
Je suis un débutant en Visual Studio, je m'occupe de l'app.fichier de configuration.
Je veux juste vous demander un petit conseil: quelle est la meilleure façon de mettre à jour une clé de valeur à plusieurs reprises dans l'app.fichier de configuration à l'aide de Formulaires Windows. Jusqu'à présent, j'ai essayé ceci:
Juste avant que la Form1 est fermée, j'ai une mise à jour de la valeur avec le code suivant:
Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(Application.StartupPath & "\MyProyect.exe")
Dim aps As AppSettingsSection = config.AppSettings
aps.Settings.Item("SomeKey").Value = 5 'just an example
config.Save(ConfigurationSaveMode.Modified)
Alors la prochaine formulaire est ouvert avec:
Form1.Hide()
Form2.Show()
Mais quand j'essaie d'enregistrer à nouveau une valeur dans la même clé dans le new Form2 il me lance une erreur, le programme se bloque:
Le fichier de configuration a été modifié par un autre programme.(C:\Users\RH\Documents\Visual Studio 2010\Projects\MyProyect\MyProyect\bin\Debug\MyProyect.exe.config)
Vraiment j'ai chercher une solution, mais il semble que je suis le seul à avoir ce genre de problème. Comme je l'avais dis que je suis juste un débutant. Pourriez-vous me donner un conseil?
OriginalL'auteur user1870837 | 2012-12-02
Vous devez vous connecter pour publier un commentaire.
Je pense que votre problème est le suivant, si vous cochez la la documentation pour la
config.Save
méthode, il y a cette déclaration,Save
modifie le fichier, donc cela m'amène à croire que vous ne pouvez appeler la méthode save une fois par instance de laConfiguration
objet. Donc, ce qui m'amène à croire que ce,échouait sur la deuxième enregistrer, mais ça,
Réussite.
OriginalL'auteur Kratz
Sont que vous essayez d'enregistrer quelque configurable par l'utilisateur de la valeur? Dans ce cas, le meilleur des cas est d'utiliser un fichier de Paramètres, qui est similaire à l'app.fichier de config, mais il est mis à jour lors de l'exécution de l'application. En vérité, les valeurs que vous mettez dans un *.fichier de paramètres d'obtenir insérée dans l'application.fichier de config, mais le processus de la lecture et de la mise à jour est géré par l'application.
J'ai une application qui permet aux utilisateurs de lire des fichiers à partir d'un dossier, et je sauvegarde le dernier emplacement du dossier dans le fichier de Paramètres. La prochaine fois que l'application s'exécute, je peux lire que la valeur pour l'utilisateur.
Voici un exemple de code en C#:
Je l'ai traduit pour VB.Net mais je m'excuse à l'avance que je n'ai pas fait VB.Net dans un tout, de sorte que vous pouvez vérifier aisément la santé. 😀
OriginalL'auteur Maurice Reeves