В Swift 4, поскольку String
является сборником Character
, вам нужно использовать map
let array1 = Array("hello") // Array<Character>
let array2 = Array("hello").map({ "\($0)" }) // Array<String>
let array3 = "hello".map(String.init) // Array<String>
Хорошо, вот шаги, которые мне нужно было сделать, чтобы решить мою проблему:
Пришлось реструктурировать мой Program.cs в соответствии с этим сайтом: https: //www.ryadel.com/en/buildwebhost-unable-to-create-an-object-of-type-applicationdbcontext-error-idesigntimedbcontextfactory-ef-core-2-fix/
Мне пришлось создать DesignTimeDbContextFactory, которая создает контекст БД, используя строку DefaultConnection
, найденную в appsettings.json
. Фабрика выглядит так:
public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<FileManagerDbContext>
{
public FileManagerDbContext CreateDbContext(string[] args)
{
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build();
var builder = new DbContextOptionsBuilder<FileManagerDbContext>();
var connectionString = configuration.GetConnectionString("DefaultConnection");
builder.UseSqlite(connectionString);
return new FileManagerDbContext(builder.Options);
}
}
appsettings.json
рядом с файлом .csproj. В моем случае это означало добавление этой команды в Dockerfile: COPY ["src/appsettings.json", "WebApp/FileManager.WebApp/"]
После этих шагов развертывание было успешным.