使用类库从web.config/app.config获取配置设置

Kje*_*sen 14 vb.net asp.net .net-3.5

3.5中的配置设置让我疯狂......帮忙!;)

我有一个类库(命名为ADI),需要从项目中使用它的一些配置设置(如connectionstring,filesystem locations等).

我想在我的Windows窗体/ Web项目App.Config或Web.Config中定义这些设置,就像其他设置一样.

这是我的Windows窗体应用程序的app.config的一部分:

<applicationSettings>
    <PhotoImportRobot.My.MySettings>
      <setting name="ADIImageRoot" serializeAs="String">
        <value>C:\DataTemp\ADI\Original\</value>
      </setting>
      <setting name="ADIImageVariantsRoot" serializeAs="String">
        <value>C:\DataTemp\ADI\Variants\</value>
      </setting>
    </PhotoImportRobot.My.MySettings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)

如何从我的类库中访问它?

我试过这个:

System.Configuration.ConfigurationManager.AppSettings("ADIImageVariantsRoot")
Run Code Online (Sandbox Code Playgroud)

该怎么办?

Zha*_*uid 23

如果您不是在进行结构化设置后,appSettings部分只会采用键值对:

<appSettings>
  <add key="ADIImageRoot" value="C:\DataTemp\ADI\Original\" />
  <add key="ADIImageVariantsRoot" value="C:\DataTemp\ADI\Variants\" />
</appSettings>
Run Code Online (Sandbox Code Playgroud)

这将使您能够通过AppSettings字典访问它们:

ConfigurationManager.AppSettings["ADIImageVariantsRoot"]
Run Code Online (Sandbox Code Playgroud)

正如你所料.

或者,如果您需要更多的配置结构(即不仅仅是字符串或设置集合),您可以使用ConfigurationSection及其相关部分来研究使用自己的配置部分.