Le code suivant a deux défauts, je ne peux pas comprendre s'il s'agit de bugs ou par conception. D'après ce que j'ai vu, il devrait être possible de réécrire dans le fichier app.config en utilisant Configuration.Save et selon le http://www.codeproject.com/KB/cs/SystemConfiguration.aspx le code devrait fonctionner. Les bogues sont montrés dans la source ci-dessous et apparaissent lorsque vous essayez de définir la propriété ou de sauvegarder la configuration.Comment puis-je écrire dans mon propre app.config en utilisant un objet fortement typé?
Imports System.Configuration
Public Class ConfigTest
Inherits ConfigurationSection
<ConfigurationProperty("JunkProperty", IsRequired:=True)> _
Public Property JunkProperty() As String
Get
Return CStr(Me("JunkProperty"))
End Get
Set(ByVal value As String)
' *** Bug 1, exception ConfigurationErrorsException with message "The configuration is read only." thrown on the following line.
Me("JunkProperty") = value
End Set
End Property
Public Sub Save()
Dim ConfigManager As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
' The add/remove is according to http://www.codeproject.com/KB/cs/SystemConfiguration.aspx
ConfigManager.Sections.Remove("ConfigTest")
' *** Bug 2, exception InvalidOperationException thrown with message "Cannot add a ConfigurationSection that already belongs to the Configuration."
ConfigManager.Sections.Add("ConfigTest", Me)
ConfigManager.Save(ConfigurationSaveMode.Full, True)
End Sub
Public Shared Sub Main()
Dim AppConfig As ConfigTest = TryCast(ConfigurationManager.GetSection("ConfigTest"), ConfigTest)
AppConfig.JunkProperty = "Some test data"
AppConfig.Save()
End Sub
' App.Config should be:
' <?xml version="1.0" encoding="utf-8" ?>
'<configuration>
' <configSections>
' <section name="ConfigTest" type="ConsoleApp.ConfigTest, ConsoleApp" />
' </configSections>
' <ConfigTest JunkProperty="" />
'</configuration>
End Class
Je voudrais le faire de cette façon pour que le premier terme de l'application que je vérifie les propriétés et indiquer à l'utilisateur d'exécuter en tant qu'administrateur si elles doivent être réglées où l'interface utilisateur serait aidez-les avec les paramètres. J'ai déjà couru en tant qu'administrateur sans effet.
Je traduis cet article (http://translate.google.co.uk/translate? u = http% 3A% 2F% 2Fwww.linhadecodigo.com.br% 2FArtigo.aspx% 3Fid% 3D1613 & sl = pt & tl = fr & hl = fr & ie = UTF-8) mais n'a pas pu voir où il mentionne un fichier app.config en lecture/écriture. –