访问调用应用程序的设置(app.config)

时间:2009-07-01 18:05:21

标签: .net visual-studio settings app-config

我有一个WinForms应用程序(“WF”),以及一个由WinForms应用程序调用的库(“LIB”)

WF有一个Settings.settings(Visual Studio Designer)和app.config组合。我收集的是设计器是自动生成app.config文件的前端。要在WF中使用这些设置,我使用它自动生成的类的强类型属性(即WF.Settings.MyTimeOutSetting)。

当WF在LIB中调用方法时,我想在lib中使用WF的一个设置。如何在被叫方(LIB)的代码中从调用者(WF)的app.config中检索设置?

4 个答案:

答案 0 :(得分:4)

像约翰说的那样,这是一个坏主意。调用者(在这种情况下为exe)应该将所需的信息传递给DLL。这样你就可以在以后的某个地方重新使用DLL,并且对app.config设置没有一些“不可见”的依赖。

试试这个:

Dim oConfiguration As System.Configuration.Configuration
oConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
Dim sValue As String = oConfiguration.AppSettings.Settings("setting").Value

答案 1 :(得分:3)

答案是:不要这样做。

让调用应用程序或者在调用中或者在构造函数中传递您需要知道的任何内容。被调用的组件不应该需要调用者的知识。

答案 2 :(得分:1)

向您的项目添加对System.Configuration的引用。

然后在特定的.cs或.vb(或其他)文件中,您希望引用配置文件,添加以下内容:

C#:using System.Configuration; VB:Imports System.Configuration

然后您可以使用以下内容访问Web配置:

C#: System.Configuration.COnfigurationManager.AppSettings [“THE_SETTING_U_WANT”];

VB: System.Configuration.COnfigurationManager.AppSettings(“THE_SETTING_U_WANT”)

如果你想要一个完整的部分,我认为该课程中也有方法可以做到这一点。

答案 3 :(得分:0)

与Windows窗体中的方式相同。它将原子地查看调用应用程序的app.config