VB.NET: как сохранить значения в файле AppSettings

Чтобы сохранить значение в файле appsettings в VB.NET, вы можете использовать различные методы. Вот несколько примеров:

Метод 1: использование Configuration Manager

Imports System.Configuration
Public Sub SaveValueToAppSettings(key As String, value As String)
    Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    config.AppSettings.Settings(key).Value = value
    config.Save(ConfigurationSaveMode.Modified)
    ConfigurationManager.RefreshSection("appSettings")
End Sub

Метод 2: использование AppSettingsReader

Imports System.Configuration
Public Sub SaveValueToAppSettings(key As String, value As String)
    Dim configReader As New AppSettingsReader()
    Dim configPath As String = "YourConfigurationFilePath"
    Dim config As Configuration = ConfigurationManager.OpenMappedExeConfiguration(New ExeConfigurationFileMap With {.ExeConfigFilename = configPath}, ConfigurationUserLevel.None)
    config.AppSettings.Settings(key).Value = value
    config.Save(ConfigurationSaveMode.Modified)
    ConfigurationManager.RefreshSection("appSettings")
End Sub

Метод 3: использование ConfigurationManager.AppSettings

Imports System.Configuration
Public Sub SaveValueToAppSettings(key As String, value As String)
    Dim configFile As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
    Dim settings As KeyValueConfigurationCollection = configFile.AppSettings.Settings
    If settings(key) Is Nothing Then
        settings.Add(key, value)
    Else
        settings(key).Value = value
    End If
    configFile.Save(ConfigurationSaveMode.Modified)
    ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name)
End Sub

Метод 4. Использование манипуляций с XML

Imports System.Xml
Public Sub SaveValueToAppSettings(key As String, value As String)
    Dim configPath As String = "YourConfigurationFilePath"
    Dim doc As New XmlDocument()
    doc.Load(configPath)
    Dim node As XmlNode = doc.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']")
    If node IsNot Nothing Then
        node.Attributes("value").Value = value
    Else
        Dim parentNode As XmlNode = doc.SelectSingleNode("/configuration/appSettings")
        Dim newNode As XmlNode = doc.CreateNode(XmlNodeType.Element, "add", Nothing)
        Dim keyAttribute As XmlAttribute = doc.CreateAttribute("key")
        keyAttribute.Value = key
        Dim valueAttribute As XmlAttribute = doc.CreateAttribute("value")
        valueAttribute.Value = value
        newNode.Attributes.Append(keyAttribute)
        newNode.Attributes.Append(valueAttribute)
        parentNode.AppendChild(newNode)
    End If
    doc.Save(configPath)
End Sub

Это всего лишь несколько способов сохранить значение в файле appsettings в VB.NET. Вы можете выбрать тот, который соответствует вашим требованиям и стилю кодирования.