.Net CoreでApp.configから読み取りする方法
.Net CoreでApp.configの設定と読み取る方法を探したのですが自分が欲しい情報が見つからず苦労したので掲載致します。VisualStudioを使えば簡単に設定して読み取りできます。
まずメニューの「プロジェクト」⇒「新しい項目の追加」から下記のギアアイコンの設定ファイルを追加します。名前は「App.setting」とかにしてください。
上記の追加ボタンを押すとProject ExplorerにApp.settingが追加されます。それをダブルクリックします。
そうすると下記の画面が出てきますので名前と値を設定します。
例)名前:hoge 値:hogehoge
App.settingを保存したと同時にApp.configが作成または更新されます。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="AppConfigTest01.App" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<AppConfigTest01.App>
<setting name="hoge" serializeAs="String">
<value>hogehoge</value>
</setting>
</AppConfigTest01.App>
</userSettings>
</configuration>
App.settingの配下に下記のc#で記述したクラスが作成または更新されます。開くとエラーになっているのでSystem.Configuration.ConfigurationManagerをNugetしてください。
※注意)namespaceがProject名になります。
//------------------------------------------------------------------------------
// <auto-generated>
// このコードはツールによって生成されました。
// ランタイム バージョン:4.0.30319.42000
//
// このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
// コードが再生成されるときに損失したりします。
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppConfigTest01 {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
internal sealed partial class App : global::System.Configuration.ApplicationSettingsBase {
private static App defaultInstance = ((App)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new App())));
public static App Default {
get {
return defaultInstance;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("hogehoge")]
public string hoge {
get {
return ((string)(this["hoge"]));
}
set {
this["hoge"] = value;
}
}
}
}
App.configの読み出し方法です。ホント簡単に呼び出しができます。
App⇒Defaule⇒で設定した名前が出てきます。
namespace AppConfigTest01
{
public class Program
{
static void Main(string[] args)
{
Console.WriteLine(App.Default.hoge);
}
}
}