[英]Reading configuration file from .NET Source Project, not from target
在.NET解决方案中,我们可以从配置文件(例如web.config
或app.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.