相关疑难解决方法(0)

多个AppSettings文件,有可能吗?

我想创建3个AppSettings配置文件:

  • Database.config
  • Messages.config
  • Global.config

在我的App.config中添加后:

<appSettings file="Database.config" />
<appSettings file="Messages.config" />
<appSettings file="Global.config" />
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问三个文件中的一个中的密钥时ConfigurationManager,我收到以下错误:

配置系统无法初始化.每个配置文件只能出现一次.

我不能有多个AppSettings配置文件?

.net c# configuration appsettings

42
推荐指数
2
解决办法
2万
查看次数

区域中的子Web.config

我正在做一个庞大的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)

c# web-config asp.net-mvc-4

5
推荐指数
1
解决办法
7708
查看次数