访问调用应用程序的设置(的app.config)(Accessing the settings (a

2019-10-16 18:27发布

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

WF有Settings.settings(Visual Studio设计)和App.config中组合。 我收集比设计师是自动生成的app.config文件的前端。 从内部WF使用这些设置,我用它自动生成的类(即WF.Settings.MyTimeOutSetting)的强类型属性。

当WF调用LIB的方法,我想用的WF的设置一个从LIB内。 我怎样才能检索呼叫者的(WF的)的app.config而在被叫方(LIB的)代码的设置?

Answer 1:

就像约翰说,这是一个坏主意。 呼叫者(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


Answer 2:

答案是:不这样做。

有调用应用程序要么通过你任何你需要知道在呼叫,或者在你的构造。 调用的组件不应该要求调用者的知识。



Answer 3:

到System.Configuration的引用添加到您的proejct。

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

C#:使用System.Configuration; VB:进口System.Configuration

那么你可以使用像这样访问Web配置:

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

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

如果你想要一个完整的部分,我认为存在这样的类方法来做到这一点。



Answer 4:

您在Windows窗体的方法相同。 它将原子看在调用应用程序的首的app.config



文章来源: Accessing the settings (app.config) of the calling application