Я выделил свой идентификационный код в специальную библиотеку классов. У меня есть метод расширения IServiceCollection
для добавления всего, что мне нужно, кроме этой строки:
builder.Services.AddIdentityApiEndpoints<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
Независимо от того, какой пакет я включаю, AddIdentityApiEndpoints
никогда не распознается. Что мне нужно сделать, чтобы иметь возможность использовать AddIdentityApiEndpoints
из библиотеки классов?
Раздел «Определение» на странице документации краток, но по сути там говорится, что вам необходимо иметь:
<FrameworkReference>
до Microsoft.AspNetCore.App.Ref в вашем .csproj
.<PackageReference>
до Microsoft.Extensions.Identity.Core в вашем .csproj
.using Microsoft.Extensions.DependencyInjection
в ваш Startup.cs
Да, мое замешательство связано с тем, что оба Microsoft.AspNetCore.App.Ref
и Microsoft.Extensions.Identity.Core
указаны в списке «Пакеты», поэтому я подумал, что они оба являются ссылками на пакеты.
Это то, чего мне не хватало. Ссылка на фреймворк
Microsoft.AspNetCore.App.Ref
. На странице документации не очевидно, что это ссылка на структуру, а не на пакет.