Как экранировать переменную в XL-Release

В нашем конвейере XL-Release есть заполнители со строками, предназначенными для конфигурации NLog. Конфигурации NLog имеют синтаксис, который поддерживает интерполированные значения с использованием того же синтаксиса, который XL-Release использует для переменных: ${variablename}. Например, в NLog соответствует базовому каталогу и ${shortdate}дает текущую строку временной метки.

К сожалению, XL-Release выполняет поиск переменных по этим значениям, ничего не находит и ничем не заменяет предполагаемый текст конфигурации NLog.

Есть ли способ избежать значений NLog, чтобы XL-Release оставил их в покое? Возможно, обратная косая черта?: \${variablename}.

Например, в нашем словаре поиска есть такая запись:

      "App": {
  "ProgramName": {
    "ArchiveFilename": "${basedir}/logs/archive/ProgramName-${shortdate}.log",
    "Filename": "${basedir}/logs/ProgramName.log"
  },
etc...

Шаблон выглядит так:

      <targets>
    <target name="logfile" xsi:type="File" fileName="{{ App.ProgramName.Filename }}"

И вместо того, чтобы получить это:

      <targets>
    <target name="logfile" xsi:type="File" fileName="${basedir}/logs/ProgramName.log"

Я получаю это (выпуск XL-Release упал):

      <targets>
    <target name="logfile" xsi:type="File" fileName="/logs/ProgramName.log"

Как я могу сбежать ${basedir}так что XL-Release не заменяет его?

0 ответов

Другие вопросы по тегам