ASP.NET配置转换不起作用

时间:2019-07-11 09:10:30

标签: asp.net web-config

这是我的(简称)Web.config

<configuration>
  [...]
  <nlog autoReload="true" throwExceptions="false" xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target xsi:type="File" name="file" layout="[...]" />
    </targets>
    <rules>
      <logger name="*" minlevel="Trace" writeTo="file" />
    </rules>
  </nlog>
</configuration>

这是我的Web.Release.Config

<configuration>
  <nlog>
    <rules>
      <logger name="*" minlevel="#{Something}#" writeTo="file" xdt:Transform="SetAttributes" xdt:Locator="Match(writeTo)" />
    </rules>
  </nlog>
</configuration>

但是,没有任何变化。另外,我在ConfigurationTransform输出窗口中看不到任何错误或警告...

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

问题在于发布配置中的nlog元素位于不同的namespace中,您需要包括以下内容:

<configuration>
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd">
    <rules>
      <logger name="*" minlevel="#{Something}#" writeTo="file"
          xdt:Transform="SetAttributes" xdt:Locator="Match(writeTo)" />
    </rules>
  </nlog>
</configuration>