使用parameters.xml在与web.config不同的范围上设置参数

时间:2014-10-07 13:23:03

标签: visual-studio webdeploy

我们正尝试通过parameters.xml在ApplicationInsights.config中推送ApplicationInsights键。 该参数不会对所述文件执行任何操作。

我们构建一个webdeploy包,然后发布到不同的环境中。所有其他参数都是针对web.config并按预期工作。

parameters.xml中的条目:

   <parameter name="InsightInstrumentationKey" description="InsightInstrumentationKey">
      <parameterValidation kind="AllowEmpty" />
      <parameterEntry kind="XmlFile"
                      scope="\\ApplicationInsights.config$"
                      match="/ApplicationInsights/InstrumentationKey/text()" />
   </parameter>

ApplicationInsights.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings" schemaVersion="2014-05-30">
  <TelemetryChannel>
    <DeveloperMode>false</DeveloperMode>
  </TelemetryChannel>
  <TelemetryModules>
      [...]
  </TelemetryModules>
  <AccountId></AccountId>
  <InstrumentationKey>HERE GOES THE PARAMETER</InstrumentationKey>
  <ContextInitializers>
      [...]
  </ContextInitializers>
  <TelemetryInitializers>
      [...]
  </TelemetryInitializers>
</ApplicationInsights>

我现在想知道是否可以从&#34; web.config&#34;中得到一个不同的scrope?

1 个答案:

答案 0 :(得分:2)

xmlns值存在问题。试试这个:

<parameterEntry kind="XmlFile" scope="ApplicationInsights\.config$"match="/*/*[local-name() = 'InstrumentationKey']/text()"/>