Я работаю с ядром ASP.Net и пытаюсь переместить некоторые компоненты Identity в отдельную сборку. Я переместил ApplicationDbContext
и ApplicationUser
в сборку под названием DataModels
. (ApplicationUser
находится в папке/Models
пространство имен DataModels
.)Идентификатор ядра ASP.Net в отдельных ошибках классов
В WebApplication Startup.cs
я ссылаться на эту сборку и все отлично компилируется. Я обновил AccountController, чтобы правильно это описать.
Когда я начинаю мое приложение, я получаю это:
Произошла ошибка во время компиляции ресурса, необходимого для обработки этого запроса. Ознакомьтесь с приведенными ниже конкретными данными об ошибках и соответствующим образом измените исходный код.
Тип или пространство имен имя 'ApplicationUser' не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?)
public SignInManager<ApplicationUser> SignInManager { get; private set; }
Мой Startup.cs имеет это:
using DataModels.Models;
...
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddDbContext<DataModels.ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<DataModels.ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddMvc();
// Add application services.
services.AddTransient<IEmailSender, AuthMessageSender>();
services.AddTransient<ISmsSender, AuthMessageSender>();
}
Очевидно, что я не указываю сборку DataModels где-то, я просто не знаю, где.