After update to the new package Microsoft.EntityFrameworkCore.SqlServer 1.1.2 I got error when try to create DBContext:
System.IO.FileLoadException occurred HResult=0x80131040
Message=Could not load file or assembly
'Microsoft.Extensions.DependencyInjection.Abstractions,
Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' or
one of its dependencies. The located assembly's manifest definition
does not match the assembly reference. (Exception from HRESULT:
0x80131040) Source=Microsoft.EntityFrameworkCore StackTrace: at
Microsoft.EntityFrameworkCore.DbContext..ctor(DbContextOptions
options) at
Services.Infrastructure.Data.SqlServerDbContext..ctor(DatabaseOptions
databaseOptions) in
C:srcackendPackagesServices.InfrastructureDataSqlServerDbContext.cs:line
16 at
Translations.Api.Data.TranslationsDbContext..ctor(DatabaseOptions
databaseOptions) in
C:srcackendModulesTranslationsTranslations.ApiDataTranslationsDbContext.cs:line
16
My base DbContext
public class SqlServerDbContext : DbContext
{
private readonly DatabaseOptions _databaseOptions;
protected SqlServerDbContext(DatabaseOptions databaseOptions)
{
if (string.IsNullOrEmpty(databaseOptions.ConnectionString))
throw new Exception("Database connection string is missed.");
_databaseOptions = databaseOptions;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_databaseOptions.ConnectionString);
}
}
Database options that I use
public class DatabaseOptions
{
public string ConnectionString { get; set; }
}
Place where I create instance of context
var dbOptions = new DatabaseOptions { ConnectionString = _connectionString };
DbContext = (TContext) Activator.CreateInstance(typeof(TContext), dbOptions);
// where TContext is derived class from SqlServerDbContext
All my packages are updated. Visual Studio 2017 15.2 (26430.6). Before upgrade to 1.1.2 everything works fine. Please help to solve the problem.
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…