什么时候web.debug.config适用?

时间:2014-04-04 11:23:12

标签: c# web-config

我有一个项目,其中包含以下appsettings的正常web.config:

<add key="CachingEnabled" value="true"/>
<add key="IsDeployed" value="true"/>

在我的web.debug.config中,我试图用

覆盖这些设置
<add key="CachingEnabled" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="IsDeployed" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>

我还将相应的值放在web.release.config

但是,当我单步执行代码时,这些值仍然与主web.config中的值相同

这些值是否仅适用于以调试模式部署站点,或者如果您只是在本地运行站点,它们是否有效?我通过iis在本地运行网站,而不是按视觉工作室中的播放按钮,如果这有任何区别。

2 个答案:

答案 0 :(得分:1)

这些值不会应用到任何事情,所发生的事情是发布命令的一部分VS 使用您定义的规则转换您的默认web.config在特定于构建的web.config中(在您的情况下,是您的debug构建配置)。

很多人都认为这些值只是在您构建项目时自动生效,而事实并非如此。但是,如果您想要这种行为,那么有一个名为SlowCheetah的小插件会为您执行此操作。

值得阅读Web.config File TransformationsHow to: Transform Web.config When Deploying a Web Application Project

答案 1 :(得分:1)

web.debug.config或web.release.config仅供Web部署使用以转换web.config,例如“Build deployment package”或“Publish”。常规构建/调试不会调用转换。

SlowCheetah可以帮助您:http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5