<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=.NET_Core%2FSystem.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84</id>
	<title>.NET Core/System.Configuration名前空間がない - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=.NET_Core%2FSystem.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=.NET_Core/System.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84&amp;action=history"/>
	<updated>2026-07-19T09:26:17Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=.NET_Core/System.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84&amp;diff=8945&amp;oldid=prev</id>
		<title>imported&gt;Administrator: /* 例：JSON + コンソールアプリ */</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=.NET_Core/System.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84&amp;diff=8945&amp;oldid=prev"/>
		<updated>2017-08-02T05:37:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;例：JSON + コンソールアプリ&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2017年8月2日 (水) 05:37時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;50行目:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;50行目:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     public static IConfigurationRoot Configuration { get; set; }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     public static IConfigurationRoot Configuration { get; set; }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     public static void Main(string[] args = null)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     public static void Main(string[] args = null)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=.NET_Core/System.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84&amp;diff=8944&amp;oldid=prev</id>
		<title>imported&gt;Administrator: ページの作成:「NuGetサーバーをLinuxで動かすべくASP .NET Coreに移植しようとしたところ、.NET CoreにSystem.Configuration名前空間がないこと...」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=.NET_Core/System.Configuration%E5%90%8D%E5%89%8D%E7%A9%BA%E9%96%93%E3%81%8C%E3%81%AA%E3%81%84&amp;diff=8944&amp;oldid=prev"/>
		<updated>2017-08-02T05:29:25Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「NuGetサーバーを&lt;a href=&quot;/wiki/Linux&quot; title=&quot;Linux&quot;&gt;Linux&lt;/a&gt;で動かすべく&lt;a href=&quot;/wiki/ASP_.NET_Core&quot; class=&quot;mw-redirect&quot; title=&quot;ASP .NET Core&quot;&gt;ASP .NET Core&lt;/a&gt;に&lt;a href=&quot;/wiki/%E7%A7%BB%E6%A4%8D&quot; title=&quot;移植&quot;&gt;移植&lt;/a&gt;しようとしたところ、&lt;a href=&quot;/wiki/.NET_Core&quot; class=&quot;mw-redirect&quot; title=&quot;.NET Core&quot;&gt;.NET Core&lt;/a&gt;にSystem.Configuration名前空間がないこと...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;NuGetサーバーを[[Linux]]で動かすべく[[ASP .NET Core]]に[[移植]]しようとしたところ、[[.NET Core]]にSystem.Configuration名前空間がないことが判明した。[[ググった]]ところ[[.NET Core]]では[[NuGet]]にある「Microsoft.Extensions.Configuration」を使うらしい。&lt;br /&gt;
&lt;br /&gt;
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration&lt;br /&gt;
&lt;br /&gt;
設定ファイルの形式は古いSystem.Configurationでは[[XML]]（app.configなど）だけだったが、新しいMicrosoft.Extensions.Configurationでは[[INI]]、[[XML]]、[[JSON]]から選べる。また、[[コマンドライン引数]]や[[環境変数]]から設定する手段も用意されている。&lt;br /&gt;
&lt;br /&gt;
各設定値は文字列をキーとする[[POCO]]（単純なプロパティだけのクラス）にバインディングされる。&lt;br /&gt;
&lt;br /&gt;
== 例：JSON + コンソールアプリ ==&lt;br /&gt;
; 利用するNuGetパッケージ&lt;br /&gt;
* Microsoft.Extensions.Configuration&lt;br /&gt;
* Microsoft.Extensions.Configuration.Json&lt;br /&gt;
&lt;br /&gt;
;appsettings.json&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot; &amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;option1&amp;quot;: &amp;quot;value1_from_json&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;option2&amp;quot;: 2,&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;subsection&amp;quot;: {&lt;br /&gt;
    &amp;quot;suboption1&amp;quot;: &amp;quot;subvalue1_from_json&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;wizards&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;Name&amp;quot;: &amp;quot;Gandalf&amp;quot;,&lt;br /&gt;
      &amp;quot;Age&amp;quot;: &amp;quot;1000&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;Name&amp;quot;: &amp;quot;Harry&amp;quot;,&lt;br /&gt;
      &amp;quot;Age&amp;quot;: &amp;quot;17&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Program.cs&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using Microsoft.Extensions.Configuration;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
&lt;br /&gt;
// Add NuGet &amp;lt;package id=&amp;quot;Microsoft.Extensions.Configuration&amp;quot; and&lt;br /&gt;
// &amp;lt;package id=&amp;quot;Microsoft.Extensions.Configuration.Json&amp;quot;&lt;br /&gt;
// .NET Framework 4.x use the following path:&lt;br /&gt;
//.SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), @&amp;quot;..\..&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
public class Program&lt;br /&gt;
{&lt;br /&gt;
    public static IConfigurationRoot Configuration { get; set; }&lt;br /&gt;
    public static void Main(string[] args = null)&lt;br /&gt;
    {&lt;br /&gt;
        var builder = new ConfigurationBuilder()&lt;br /&gt;
             .SetBasePath(Directory.GetCurrentDirectory())&lt;br /&gt;
            .AddJsonFile(&amp;quot;appsettings.json&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        Configuration = builder.Build();&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine($&amp;quot;option1 = {Configuration[&amp;quot;option1&amp;quot;]}&amp;quot;);&lt;br /&gt;
        Console.WriteLine($&amp;quot;option2 = {Configuration[&amp;quot;option2&amp;quot;]}&amp;quot;);&lt;br /&gt;
        Console.WriteLine($&amp;quot;suboption1 = {Configuration[&amp;quot;subsection:suboption1&amp;quot;]}&amp;quot;);&lt;br /&gt;
        Console.WriteLine();&lt;br /&gt;
&lt;br /&gt;
        Console.WriteLine(&amp;quot;Wizards:&amp;quot;);&lt;br /&gt;
        Console.Write($&amp;quot;{Configuration[&amp;quot;wizards:0:Name&amp;quot;]}, &amp;quot;);&lt;br /&gt;
        Console.WriteLine($&amp;quot;age {Configuration[&amp;quot;wizards:0:Age&amp;quot;]}&amp;quot;);&lt;br /&gt;
        Console.Write($&amp;quot;{Configuration[&amp;quot;wizards:1:Name&amp;quot;]}, &amp;quot;);&lt;br /&gt;
        Console.WriteLine($&amp;quot;age {Configuration[&amp;quot;wizards:1:Age&amp;quot;]}&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
階層構造は「:（コロン）」区切りで表現する。&lt;br /&gt;
 &lt;br /&gt;
 Console.WriteLine($&amp;quot;option1 = {Configuration[&amp;quot;subsection:suboption1&amp;quot;]}&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
配列をは階層構造と同様にコロン区切りを利用し、変数名の部分にインデックス番号（0からスタート）を指定する。&lt;br /&gt;
 &lt;br /&gt;
 Console.Write($&amp;quot;{Configuration[&amp;quot;wizards:0:Name&amp;quot;]}, &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[.NET Core]]&lt;br /&gt;
* [[.NET Core/macOSにインストールする]]&lt;br /&gt;
&lt;br /&gt;
[[category: .NET Core]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
</feed>