Web.config和Web.Release.config中的appSettings

时间:2017-02-16 01:44:23

标签: c# asp.net-mvc-3 appsettings

尝试为dev与prod获得简单的<appSettings>

我的Web.config

<appSettings>
  <add key="hello" value="debug" />
</appSettings>

我的Web.Release.config

<appSettings>
  <add key="hello" value="prod" />
</appSettings>

(均在<configuration>下)

当我在调试模式下运行并运行我的MVC网站时,我可以在return Content(WebConfigurationManager.AppSettings["hello"]);中执行一个简单的HomeController.Index并返回dev。如果我将模式切换为Release,它仍会返回dev。我想模拟prod模式而不实际发布到prod。

2 个答案:

答案 0 :(得分:17)

在特定于构建的Web.config文件中,您必须告诉它如何转换基本.config文件。所以要做你要求的,你的Web.Release.config文件应如下所示:

<appSettings>
  <add key="hello" value="prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>

在上面的代码中,SetAttributes转换将更改与包含值key的{​​{1}}属性匹配的任何元素的属性。

答案 1 :(得分:0)

.NET 4.7.1 开始,该功能称为配置生成器,该功能使开发人员不仅可以从Web.Release.Cong加载配置,而且还可以从任何来源加载配置。 Read more about .NET Framework 4.7.1 ASP.NET and Configuration features