【问题标题】:Transform config in asp.net mvc isnt updatedasp.net mvc 中的转换配置未更新
【发布时间】:2014-05-11 19:48:36
【问题描述】:

我有 asp.net mvc 4 项目,其中尝试使用转换配置,其中有一些默认值,当我尝试更改为发布模式时,一些默认值更改为发布值,但它不起作用。当我尝试更改为发布模式并构建应用程序时,我没有任何变化。这是我在 Web.config 中的默认值:

<appSettings>
    <add key="appId" value="####"/>
    <add key="appSecret" value="####"/>
    <add key="hostName" value="####"/>
  </appSettings>

这是我的 Web.Release.config 中的内容:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">

  <appSettings>
    <add key="appId" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(name)" />
    <add key="appSecret" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
    <add key="hostName" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
  </appSettings>
</configuration>

有人帮我吗?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 web-config


    【解决方案1】:

    使用xdt:Locator="Match(name)",您正在尝试匹配不存在的属性name。您正在为 appSettings 寻找 key

    <add key="appId" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(key)" />
    <add key="appSecret" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
    <add key="hostName" value="!!!!" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
    

    【讨论】:

    • 尝试把name改成key也是一样的情况。
    • @BorHunter 确保您选择了正确的配置(发布)。此外,这不是在 build 而不是在 deploy 上生成的
    • 是的,我选择发布。您能否解释一下您的说法:“这不是在构建时生成的,而是在部署时生成的”
    • 生成的 Web.config 仅在右键单击 Project &gt; Publish 时生成。单纯使用Build Solution时不会生成。
    • 很有趣,但是如果我通过在服务器上复制/粘贴文件而不是发布来发布我的项目该怎么办?你能帮帮我吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多