Справочная информация:
Я перемещаю один из наших net Framework 4.5 проектов в конвейер DevOps, который будет развернут в нашей службе приложений.
Чтобы убедиться, что ни одно из приложений секреты копируются в систему контроля версий. Я обновил строки соединений Web.config следующим образом:
<connectionStrings configSource="connectionStrings.config"></connectionStrings>
connectionStrings.config не стремится к исходному контролю. Вместо этого у нас есть пример версии без действительной строки, которая находится в управлении исходным кодом, подробно здесь:
<connectionStrings>
<clear/>
<add name="EFDbContext" connectionString="Data Source=XXXXX\SQLEXPRESS;Initial Catalog=XXXXX;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
</connectionStrings>
В службе приложения Azure у нас установлен правильный набор строки подключения.
В конвейере приложение успешно собирается, но после развертывания приложение не использует строку подключения, указанную в службе приложения Azure, и выбрасывает следующая ошибка:
The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.
Вопрос (ы):
Почему приложение игнорирует переменную среды службы приложения?
Я был под создается впечатление, что строки подключения, установленные в Azure, будут иметь приоритет. Это правильно?