我的基础架构项目中有自定义配置,但是当我的应用启动时,我的web.config才被识别。
我不想将此自定义配置文件的配置放在我的web.config中,因为此配置对基础架构层负责。
我如何在我的网站项目中使用其他项目的自定义配置?
答案 0 :(得分:3)
此问题的先前答案未能告知您关键点。
.NET旨在为每个AppDomain
配置一个配置过程。所有类库都将使用调用它们的应用程序的配置文件。在您的情况下,您的类库将使用web.config。如果您的类库是从控制台应用程序使用的,那么它将使用应用程序 .exe.config文件。
当你想到它时,这是唯一有意义的事情。如果您的类库来自两个单独的应用程序,那么它将具有两个单独的配置。必须代表调用应用程序管理这些配置。
答案 1 :(得分:0)
这样的事情:
var exeMap = new ExeConfigurationFileMap {ExeConfigFilename = @"C:\Path\To\Your\File"};
Configuration myConfig = ConfigurationManager.OpenMappedExeConfiguration(
exeMap, ConfigurationUserLevel.None
);
答案 2 :(得分:-1)
假设基础结构项目是类库,您是否考虑过创建属性以将app.config(?)设置公开给前端?
这是我的意思的一个例子。请记住,这只是一个例子。它是一个演示如何通过属性公开配置值的属性。在您的情况下,该属性将从您的自定义配置文件中检索一个值。
public string GetConfigurationValue(string Key)
{
return GetValueFromConfiguration(Key);
}
我想知道的一件事是你为什么要创建一个自定义配置文件,而不仅仅是创建一个可以集成到app.config文件中的配置部分。看起来你的事情比他们需要的要困难得多。