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
- Project
- https://dot.net/
- Repository
- https://github.com/dotnet/dotnet commit b16286c2284fecf303dbc12a0bb152476d662e44
- Flags
- SemVer 1
- SHA512
- cVaFcG27uIVBi6jK4CUZGRIw330rFGVv5o2yMk8FPio5uBPEu4WnfHeGWtsS7xi0K1fCpHt7P4KrztPFexClwg==
Release notes
https://go.microsoft.com/fwlink/?LinkID=799421