.NET Coreのコンソールアプリケーションで構成ファイルの読み書きを行う方法を教えてください。  
.NET FrameworkではSystem.configurationという名前空間に必要な機能がありましたが、.NET Coreでは存在しないようです。

ASP.NET
Coreの方では構成ファイルの読み書きの便利なものが用意されているようですが、普通のコンソールアプリケーションの場合は自前で実装する必要があるのでしょうか？

以下のbuilder.Add("");の部分で何を渡せばいいのかわかりません。  
やりたいことは単に構成ファイルからキーバリューで値を読み書きしたいだけです。

```

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Threading.Tasks;
        using Microsoft.Extensions.Configuration;
        using Microsoft.Extensions.Configuration.Memory;
        using Microsoft.Extensions.Options;
    
        namespace ConsoleApp1
        {
            public class Program
            {
    
                public static void Main(string[] args)
                {
                    Console.WriteLine("");
    
                    ConfigurationBuilder builder = new ConfigurationBuilder();
                    builder.Add("");
    
                    var config = builder.Build();
                    config["somekey"] = "somevalue";
                    string setting2 = config["somekey"];
                }
            }
        }
    
```
CC BY-SA 3.0
2016-05-30T02:40:06.917
25277
2016-05-30T04:45:32.810
2016-05-30T04:06:57.427
14288
14288
question
c# .net
.NET Coreのコンソールアプリケーションで構成ファイルの読み書きを行う方法
自己回答になりますが、以下でできました。  
せっかくなので回答しておきます。

```

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Threading.Tasks;
        using Microsoft.Extensions.Configuration;
        using Microsoft.Extensions.Configuration.Memory;
        using Microsoft.Extensions.Options;
    
        namespace ConsoleApp1
        {
            public class Program
            {
    
                public static void Main(string[] args)
                {
                    ConfigurationBuilder builder = new ConfigurationBuilder();
                    builder.AddXmlFile(@"setting.xml", optional: true);
                    builder.AddEnvironmentVariables();
    
                    try
                    {
                        var config = builder.Build();
                        config["somekey"] = "somevalue";
                        string setting2 = config["somekey"];
    
                        Console.WriteLine(setting2);
    
                    }catch(Exception ex)
                    {
                        Console.WriteLine(ex.Message);
    
                    }
                }
            }
        }
    
```
CC BY-SA 3.0
2016-05-30T04:45:32.810
25282
2016-05-30T04:45:32.810
14288
25277
answer