私は一般的にWPFとC#に非常に慣れていないため、app.configを使用すると混乱します。かなり基本的なことを達成するのは、不必要に難しいと感じます。アプリにいくつかのデータ駆動型の設定を追加したいだけで、app.config を使用したいと考えていました。
少し調査したところ、「appSettings」は古く、型チェックがなく、「applicationSettings」は非推奨のようです (VS 2012 の標準スキーマにもありません)。そのため、カスタム構成セクションを作成しようとしています。例に基づいて非常に単純なものを書きましたが、起動時に TypeInitializationException がスローされます。コードをじっと見ていますが、何が問題なのかわかりません。
app.config ファイル:
<configSections>
<section name="applicationConfig" type="MyApp.ApplicationConfig, MyApp"/>
</configSections>
<applicationConfig
UseLocalhost="true"
WebServer="http://www.someserver.com"
MachineId="999"/>
C# コード:
namespace MyApp
{
public class ApplicationConfig : ConfigurationSection
{
public ApplicationConfig()
{
}
public static ApplicationConfig GetConfig()
{
return (ApplicationConfig)System.Configuration.ConfigurationManager.GetSection("applicationConfig") ?? new ApplicationConfig();
}
[ConfigurationProperty("UseLocalhost", DefaultValue = false, IsRequired = false)]
public bool UseLocalhost
{
get { return (bool)this["UseLocalhost"]; }
set { this["UseLocalhost"] = value; }
}
[ConfigurationProperty("WebServer", IsRequired = true)]
public string WebServer
{
get { return (string)this["WebServer"]; }
set { this["WebServer"] = value; }
}
[ConfigurationProperty("MachineId", DefaultValue = 999, IsRequired = false)]
public int MachineId
{
get { return (int)this["MachineId"]; }
set { this["MachineId"] = value; }
}
}
}
助けてくれてありがとう。