注: これはこのSO questionと非常によく似ていますが、さらに助けが必要です。
.config ファイルに次のセクションを作成しようとしていますが、このセクションにアクセスしようとすると例外が発生します。
.config ファイル
<configSections>
<section name="foos" type="Ackbar.Mvc.Models.Foo.FooCollection, Ackbar.Mvc" requirePermission="false"/>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" requirePermission="false" />
</configSections>
<foos>
<add name="aaa" something="zzz"/>
<add name="bbb" something="yyy"/>
<add name="ccc" something="xxx"/>
</foos>
これは、2 つのクラスを作成する必要があることを意味します
クラス
public class FooCollection : ConfigurationElementCollection
{
... with my custom overrides, etc. ...
}
と
public class FooElement : ConfigurationElement
{
[ConfigurationProperty("Name", IsRequired = true)]
public string Name { .. }
[ConfigurationProperty("Something ", IsRequired = true)]
public string Something { .. }
[ConfigurationProperty("IsDefault ", IsRequired = false, DefaultValue = false)]
public bool IsDefault { .. }
}
ケウル。今、私が次のことをすると....
var whatever = ConfigurationManager.GetSection("foos")
次の例外がスローされます:-
foos の構成セクション ハンドラーの作成中にエラーが発生しました: タイプ 'Ackbar.Mvc.Models.Foos.FooCollection' は 'System.Configuration.IConfigurationSectionHandler' から継承されません。
誰か助けてくれませんか?コレクションを親セクションの内側にラップしたくありません。
乾杯 :)