我有一个项目,其中包含以下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在本地运行网站,而不是按视觉工作室中的播放按钮,如果这有任何区别。
答案 0 :(得分:1)
这些值不会应用到任何事情,所发生的事情是发布命令的一部分VS 使用您定义的规则转换您的默认web.config
在特定于构建的web.config
中(在您的情况下,是您的debug
构建配置)。
很多人都认为这些值只是在您构建项目时自动生效,而事实并非如此。但是,如果您想要这种行为,那么有一个名为SlowCheetah的小插件会为您执行此操作。
值得阅读Web.config File Transformations和How 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