【问题标题】:.net Web.Debug.config transform is not working.net Web.Debug.config 转换不起作用
【发布时间】:2018-01-11 18:40:43
【问题描述】:

我的 Web.config 中有以下内容

<exceptionless Enabled="true" apiKey="XXXX"></exceptionless>

我的 Web.Debug.config 有这个

<exceptionless Enabled="false" xdt:Transform="SetAttributes(Enabled)"></exceptionless>

现在当我调试我的应用程序并在代码上设置断点时

var exceptionless = ExceptionlessClient.Default;

我检查了这些值并且 Enabled 没有更改为 false。如何确定是否正在使用 Web.Debug.config 转换?

【问题讨论】:

  • 要使用 Web.Debug.config,您需要在设置为调试的模式下发布应用程序
  • 这就是我设置的

标签: asp.net


【解决方案1】:

Web.Config 转换仅在发布或打包期间发生。因此,您只会看到更改在已发布的应用程序中生效。

【讨论】:

  • 这很奇怪,因为我们在调试时可以使用其他转换(例如 AppSettings..config)。
【解决方案2】:

即使在发布后它不会转换,如果设置了转换,请检查您的 .csporj 文件。 在文本编辑器中打开 .csproj 并检查是否存在以下 XML,如果不存在,则添加并尝试

  <Target Name="Publish">
    <TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="$(WebProjectOutputDir)\Web.config" />
  </Target>

【讨论】:

    【解决方案3】:

    我必须将以下内容添加到我的 XML 文件中

    <Target Name="BeforeBuild">
    <TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="Web.config" />
    

    【讨论】:

    • 也许我们应该在无异常的 wiki 或示例应用程序中添加一个关于此的部分。
    猜你喜欢
    • 2018-02-23
    • 2019-03-21
    • 1970-01-01
    • 2020-04-03
    • 2015-07-19
    • 2011-06-22
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多