У меня проблема с конвейером сборки в Azure Devops, поскольку переменные из конвейера сборки не заменяют пустую конфигурацию в appsettings.json.Ниже приведена более подробная информация.
Мой текущий тестовый проект построен с использованием базовой технологии asp.net и подключен к SQL-серверу.Я также использую Entity Framework Core и autofac.
. Для подключения к SQL-серверу я использую конфигурацию appsettings.json:
{
"ConnectionStrings": {
"AzureDbConnectionString": ""
}
}
, но мои учетные данные хранятся в secrets.json
* 1009.*
Я настроил свою переменную конвейера сборки: Имя:
ConnectionStrings--AzureDbConnectionString
Значение:
Server=tcp:servername-db-srv.database.windows.net,1433;Initial Catalog=dbname-db;Persist Security Info=False;User ID=user;Password=Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Проблема возникает при запуске сценариев создания миграции в конвейере сборки.
Autofac.Core.DependencyResolutionException: An exception was thrown while activating λ:Microsoft.EntityFrameworkCore.DbContextOptions[] -> λ:Microsoft.EntityFrameworkCore.DbContextOptions -> λ:Microsoft.EntityFrameworkCore.DbContextOptions`1[[AspNetAutofacAzure02.Data.SchoolContext, AspNetAutofacAzure02, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]. ---> System.ArgumentException: The string argument 'connectionString' cannot be empty.
at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName)
Как я уже говорил, похоже, что переменная не используется при генерации скрипта.
Что-то не так я здесь делаю?