2010-06-30 38 views
1

我对使用.NET中的配置稍微熟悉,但我对某些事情有点困惑。你创建一个App.Config文件来和你的exe文件一起使用,你创建的任何dll都使用相同的配置文件。使用DLLS的.NET和配置文件

那么如何从DLL中访问配置文件中的配置?如果您在Visual Studio中的DLL项目中创建一个settings.settings,它将变为空白,并且没有设置。

谢谢。

回答

2

我认为你必须共享你的所有DLL的应用程序设置文件。

所以,你必须为每个引用的程序集这个配置文件中不同的部分...

+0

权。我在settings.settings文件中添加了一些设置,并在dll项目中为我创建了一个app.config。 app.config在包含dll命名空间的部分中有设置。我认为我需要做的然后是将设置移入与exe项目一起使用的app.config,并删除dll项目中的app.config – peter 2010-06-30 21:41:49

+0

我的问题实际上比这更复杂一点,因为我想实例化动态dll等,但当我到达那里时,我将不得不对其进行排序。 – peter 2010-06-30 21:42:53

4

您可以使用System.Configuration.ConfigurationManager类,从的app.config(或web.config中)获得的设置内DLL。 AppSettings属性将从配置文件的appSettings部分获取数据。

NameValueCollection settings = System.Configuration.ConfigurationManager.AppSettings; 
string keyValue = settings["SomeKey"]; 
1

有没有简单的方法来做到你的要求(从您的DLL项目中使用app.config文件,而不是或除了为正在使用该DLL的EXE文件app.config文件。)

看帖子#3从这个线程:

http://bytes.com/topic/c-sharp/answers/226001-problem-app-config-dll

+0

是的,但我并不需要有两个app.config文件。我可以使用exe项目中的一个。当我在dll项目的settings.settings文件中添加了一些东西时,它会在dll项目中生成app.config。我打算删除它。 – peter 2010-06-30 21:54:10

+0

谢谢,迄今为止的答案都非常有帮助。 – peter 2010-06-30 21:55:04