繁体   English   中英

从.NET Source Project而不是从目标读取配置文件

[英]Reading configuration file from .NET Source Project, not from target

在.NET解决方案中,我们可以从配置文件(例如web.configapp.config读取设置。 但是我在使用这些资源时发现了一个问题。 在一个解决方案中,我创建了一个类库项目和一个ASP.NET项目,它们两个都有一个“ something.config”文件。 在类库中,它称为App.Config ,而在ASP.NET中,它称为Web.config

我在类库项目的类中创建了一个方法,并在ASP.NET中调用了该方法。 这些方法从app.config获取一些设置,但是如果我尝试在Web项目中使用ASP.NET项目中从web.config读取的方法,那是不希望的。

如何使类库项目中的方法从相应项目而不是Web项目中读取App.Config

这取决于您正在运行的应用程序。

Web应用程序是入口点,因此它将使用web.config。

您可以将app.config中包含的值/部分放入web.config中,然后将其读取。

挖掘完配置管理器类后,我添加了以下内容以读取与程序集关联的配置文件。

var config = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location);

var tempValue = config.AppSettings["setting_name"];

默认情况下,不会加载放置在类库项目中的App.config 唯一将加载的配置文件是客户端配置( web.config )。

配置项目以加载本地类库配置文件app.config

您需要以下代码来做到这一点:

ConfigurationManager.OpenMappedExeConfiguration(
    new ExeConfigurationFileMap() { 
        ExeConfigFilename = path + "app.config" 
    }, ConfigurationUserLevel.None);

有关更多详细信息,请访问此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM