nug Createrun NuGet

System.Configuration.ConfigurationManager

10.0.7 51 download(s)
public

Provides types that support using XML configuration files (app.config). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as Microsoft.Extensions.Configuration.

PackageReference
<PackageReference Include="System.Configuration.ConfigurationManager" Version="10.0.7" />
.NET CLI
dotnet add package System.Configuration.ConfigurationManager --version 10.0.7

Dependencies

net10.0
Package Version range
System.Diagnostics.EventLog [10.0.7, )
System.Security.Cryptography.ProtectedData [10.0.7, )
net8.0
Package Version range
System.Diagnostics.EventLog [10.0.7, )
System.Security.Cryptography.ProtectedData [10.0.7, )
net9.0
Package Version range
System.Diagnostics.EventLog [10.0.7, )
System.Security.Cryptography.ProtectedData [10.0.7, )
netstandard2.0
Package Version range
System.Security.Cryptography.ProtectedData [10.0.7, )

Readme

## About

<!-- A description of the package and where one can find more documentation -->

Provides types that support using XML configuration files (`app.config`). This package exists only to support migrating existing .NET Framework code that already uses System.Configuration. When writing new code, use another configuration system instead, such as [Microsoft.Extensions.Configuration](https://www.nuget.org/packages/Microsoft.Extensions.Configuration/).

## How to Use

<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->

The following example shows how to read and modify the application configuration settings.

```cs
using System;
using System.Configuration;

class Program
{
    static void Main()
    {
        try
        {
            // Open current application configuration
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            KeyValueConfigurationCollection section = config.AppSettings.Settings;

            // Print settings from configuration file
            foreach (string key in section.AllKeys)
            {
                Console.WriteLine($"{key}: {section[key].Value}");
            }

            // Add new setting
            section.Add("Database", "TestDatabase");

            // Change existing setting
            section["Username"].Value = "TestUser";

            // Save changes to file
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
        }
        catch (ConfigurationErrorsException ex)
        {
            Console.WriteLine("Error reading configuration: ");
            Console.WriteLine(ex.Message);
        }
    }
}
```

To run this example, include an `app.config` file with the following content in your project:

```xml
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Server" value="example.com"/>
    <add key="Username" value="Admin"/>
  </appSettings>
</configuration>
```

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* `System.Configuration.Configuration`
* `System.Configuration.ConfigurationManager`

## Additional Documentation

<!-- Links to further documentation -->

* [Configure apps by using configuration files](https://learn.microsoft.com/dotnet/framework/configure-apps/)
* [System.Configuration namespace](https://learn.microsoft.com/dotnet/api/system.configuration)
* [System.Configuration.Configuration](https://learn.microsoft.com/dotnet/api/system.configuration.configuration)
* [System.Configuration.ConfigurationManager](https://learn.microsoft.com/dotnet/api/system.configuration.configurationmanager)

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

System.Configuration.ConfigurationManager is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

Target frameworks

net10.0 net8.0 net9.0 netstandard2.0

Metadata

Published
Size
965 KB
Authors
Microsoft
License
MIT
Repository
https://github.com/dotnet/dotnet commit b16286c2284fecf303dbc12a0bb152476d662e44
Flags
SemVer 1
SHA512
cVaFcG27uIVBi6jK4CUZGRIw330rFGVv5o2yMk8FPio5uBPEu4WnfHeGWtsS7xi0K1fCpHt7P4KrztPFexClwg==

Release notes

https://go.microsoft.com/fwlink/?LinkID=799421