Я создал основной проект asp.net и выбрал UseIndiviualUserAccount в качестве My AutenticationType. После подготовки проекта в Visual Studio у меня есть какой-то готовый класс и контроллер, Очевидно, у меня есть папка миграции и ее конфигурация, так как я не хочу использовать структуру defulat изЯдро asp.net, я удалил папку миграции, создал новую библиотеку классов и переименовал ее в MyProject.Core.в библиотеке классов MyProject.Core я создаю свои модели db и классы dbContext, поэтому мне нужно выполнить команду add-migration «init» для создания моей базы данных, поэтому я сделал это, но у меня возникла ошибка ниже. Примечание: я выполняю команду addigrationв Myproject.Core в PMC! Невозможно создать объект типа 'ApplicationDbContext'.Добавьте реализацию IDesignTimeDbContextFactory в проект или посмотрите https://go.microsoft.com/fwlink/?linkid=851728, чтобы узнать о дополнительных шаблонах, поддерживаемых во время разработки.
Как я могу исправить эту ошибку, я прочитал некоторую статьюна текущем сайте и на другом сайте, но я не могу решить мою проблему.
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddTransient<IUnitOfWork, UnitOfWork>();
services.AddTransient<IProvinceRepository, ProvinceRepository>();
services.AddTransient<IBrandRepository, BrandRepository>();
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
// Add application services.
services.AddTransient<IEmailSender, EmailSender>();
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseBrowserLink();
app.UseDeveloperExceptionPage();
app.UseDatabaseErrorPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser,ApplicationRole,string>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options): base(options)
{
}
static ApplicationDbContext()
{
// Set the database intializer which is run once during application start
// This seeds the database with admin user credentials and admin role
// Database.SetInitializer<ApplicationDbContext>(new ApplicationDbInitializer());
}