0

问题是我的“app.config”设置没有在类库项目中获取。

“app.config”只能在应用程序中使用而不能在类库中使用吗?

4

3 回答 3

1

您应该将配置设置添加到使用类项目的项目中。即,如果您有一个引用“MyClassProject”的项目“MyProject”,则应将 app.config 设置放在“MyProject”项目中

于 2013-11-06T10:21:57.007 回答
0

当您使用默认方式访问应用程序配置时,.NET 框架的设计- .NET 运行时为您提供来自入口程序集的app.config的数据(引用您的类库的 EXE 文件)。

可以通过以下方式访问类库的应用程序配置(代码应放在类库的项目中 - 为了Assembly.GetCallingAssembly().Location返回正确的路径):

ExeConfigurationFileMap classLibraryConfigurationMap= new ExeConfigurationFileMap();
classLibraryConfigurationMap.ExeConfigFilename = Assembly.GetCallingAssembly().Location + ".config";

Configuration classLibraryConfiguration = ConfigurationManager.OpenMappedExeConfiguration(classLibraryConfigurationMap, ConfigurationUserLevel.None);
于 2013-11-06T10:23:13.843 回答
0

应用程序配置文件包含特定于应用程序的设置。此文件包含公共语言运行时读取的配置设置(例如程序集绑定策略、远程处理对象等),以及应用程序可以读取的设置。配置文件是可选的,如果不存在 ASP.NET 等环境,将回退到存储在 .NET 系统目录中的 machine.config 文件以获取机器范围的默认值。

这样想吧。如果您的类库有一些自定义设置,那么它应该有一个配置来处理它。

于 2013-11-06T10:21:52.363 回答