如何仅在发布模式下在web.config中设置属性?

问题描述 投票:3回答:2

我想只在发布模式下设置此属性:

<system.web>
    <httpCookies domain=".mySite.com" />
  </system.web>

这是我的Web.Release.Config:

<system.web>
<httpCookies name="someName" domain=".mySite.com"  xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</system.web>

这是我的Web.Config:

<system.web>
        <httpCookies name="someName"/>
      </system.web>

但是httpCookies属性没有name属性!!!并获得此属性无效的错误。

c# asp.net-mvc web-config
2个回答
8
投票

这应该工作 - 将其添加到您的Web.Release.config文件:

<system.web>
    <httpCookies domain=".mySite.com" xdt:Transform="Replace" />
</system.web>

您不需要name属性(它不存在)

这将是转换后的web.config中的结果:

<system.web>
    <httpCookies domain=".mySite.com" />
</system.web>

请注意,httpCookies元素必须存在于Web.config文件中才能使转换生效。


0
投票

如果您只想更改一个属性而不替换整个节点,请在Web.Release.config中执行此操作。

  <system.web>
...
    <httpCookies xdt:Transform="SetAttributes(domain)" domain=".mySite.com" />

这将留下其余的httpCookies属性,只改变domain。确保新的domain=出现在xdt:Transform之后,否则它将无效。

© www.soinside.com 2019 - 2024. All rights reserved.