Azure Выпуск конвейеров XML Замена переменных пропущена - PullRequest
0 голосов
/ 12 марта 2020

У меня есть этот файл web.config, который я помещаю в root моего проекта, созданного azure devops здесь:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\ManagementStudio.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout">
        <environmentVariables>
          <environmentVariable name="MS_CONNECTIONSTRING" value="" />
          <environmentVariable name="CENTRAL_APPLICATION_SETTINGS" value="" />
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="" />
          <environmentVariable name="MS_COOKIEEXPIRYTIMEINMINUTES" value="" />
          <environmentVariable name="MS_STATICFILECACHEINSECONDS" value="" />
          <environmentVariable name="MS_COOKIEDOMAIN" value="" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>

Затем я устанавливаю эти переменные в разделе релиза. :

ASPNETCORE_ENVIRONMENT
Development
CENTRAL_APPLICATION_SETTINGS
csa
CLOUDFRONT_DOMAIN
csd
MS_CONNECTIONSTRING
connstring
MS_COOKIEDOMAIN
dev.website.com

Я установил их как устанавливаемые во время выпуска.

В своем развертывании IIS Web App я поставил галочку XML Замена переменных.

Однако это не Похоже, что мои переменные вообще не изменены.

Ответы [ 2 ]

0 голосов
/ 12 марта 2020

В связи с тем, что он не применяется успешно, я согласен с десантниками.

Но это не значит, что вы больше не можете использовать переменную окружения. Если environment variable является предпочтительным вариантом, который вы хотите, вы можете использовать задачу replace token для достижения того, чего вы хотите.

Подробно об этой задаче вы можете прочитать в моем предыдущем ответе .

0 голосов
/ 12 марта 2020

Только секции appSettings, connectionStrings и applicationSettings заменяются ( см. Документацию ), и секция должна содержать элемент конфигурации с key или name, например:

<connectionStrings>
    <add name="MyDB" connectionString="..." />
</connectionStrings>

, где вы можете определить переменную MyDB для установки строки подключения

- Обновление -

Для секции environmentVariables вы можете протестируйте это предложение из документации:

Если вы хотите заменить значения вне этих элементов, вы можете использовать файл (параметры. xml), однако вам потребуется использовать сторонний конвейер. задача для обработки подстановки переменных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...