我想创建3个AppSettings配置文件:
在我的App.config中添加后:
<appSettings file="Database.config" />
<appSettings file="Messages.config" />
<appSettings file="Global.config" />
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问三个文件中的一个中的密钥时ConfigurationManager,我收到以下错误:
配置系统无法初始化.每个配置文件只能出现一次.
我不能有多个AppSettings配置文件?
我正在做一个庞大的MVC 4项目。我正在使用Area,它很棒。
但是,我想针对每个区域使用自定义Web.config。
例如,这是我的结构:
Root
Web.config
|
----Areas
--------MyArea_1
--------MyArea_2
----Web.config
Run Code Online (Sandbox Code Playgroud)
在我的根Web.config中,我具有所有连接。在我的Sub Web.config中,我想添加仅涉及Areas的“ appSettings”。
在我的子Web.config中,例如:
<appSettings>
<add key="MyArea_1_Param1" value="1"/>
<add key="MyArea_1_Param2" value="2"/>
<add key="MyArea_2_Param1" value="1"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)
目前,我已将所有参数都放在根Web.config中。
如何在不同的Web.config之间建立链接?
------更新--------
我尝试将这段代码放在Sub Web.config中:
<?xml version="1.0" encoding="utf-8"?>
<location path="MyArea_1">
<appSettings>
<add key="MyArea_1_Param1" value="1"/>
<add key="MyArea_1_Param2" value="2"/>
</appSettings>
</location>
Run Code Online (Sandbox Code Playgroud)
AI将这个文件放在这里:
Root
Web.config
|
----Areas
--------MyArea_1
--------MyArea_2
----Web.config <- Here
Run Code Online (Sandbox Code Playgroud)
我已经在这里尝试:
Root
Web.config
|
----Areas
--------MyArea_1
------------Web.config
--------MyArea_2
Run Code Online (Sandbox Code Playgroud)
但是当我尝试读取键值“ MyArea_1_Param1”时,我仍然收到“ NullReferenceException”
我的代码读取键值:
ConfigurationManager.AppSettings["MyArea_1_Param1"].ToString()
Run Code Online (Sandbox Code Playgroud)