【问题标题】:when does web.debug.config apply?web.debug.config 什么时候应用?
【发布时间】:2014-04-04 19:32:58
【问题描述】:

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

<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 在本地运行该站点,而不是通过按下 Visual Studio 中的播放按钮,如果这有什么不同的话。

【问题讨论】:

标签: c# web-config


【解决方案1】:

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

很多人感到困惑,认为这些值只是在您构建您的项目时自动起作用,但事实并非如此。但是,如果您想要这种行为,有一个名为 SlowCheetah 的不错的小插件可以为您完成此操作。

Web.config File Transformations 和 How to: Transform Web.config When Deploying a Web Application Project 值得一读

【讨论】:

    【解决方案2】:

    web.debug.config 或 web.release.config 仅由 web 部署使用以转换 web.config,例如“构建部署包”或“发布”。常规构建/调试不会调用转换。

    SlowCheetah 或许能帮到你:http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5

    【讨论】:

      猜你喜欢
      • 2021-09-07
      • 2023-04-02
      • 2011-04-15
      • 2017-04-10
      • 2012-03-19
      • 2018-05-12
      • 2018-12-11
      • 1970-01-01
      • 2022-09-28
      相关资源
      最近更新 更多