Em um projeto de biblioteca dotnet, preciso acessar SecurityStampValidatorOptions .
Isso parece fazer parte do assembly "Microsoft.AspNetCore.Identity", cujo pacote nuget está obsoleto .
Então tentei fazer referência a Microsoft.AspNetCore.Identity.EntityFrameworkCore , mas isso também não ajuda. eu recebo
O tipo ou nome do namespace 'SecurityStampValidatorOptions' não existe no namespace 'Microsoft.AspNetCore.Identity' (falta uma referência de assembly?)
(Definitivamente, está nesse namespace e, no meu projeto principal do ASP.NET Core, funciona.)
Onde essa classe está definida?
Os pacotes de referência do ASP.NET Core são importados para um projeto por meio do atributo SDK do projeto, em vez de
PackageReference
elementos específicos da Galeria NuGet.Microsoft.AspNetCore.App.Ref
"não deve ser usado como um PackageReference normal" porque as bibliotecas do ASP.NET Core não são incluídas no aplicativo; espera-se que elas existam quando executadas em um computador com o ASP.NET Core Runtime instalado.SDK do projeto
Você pode tentar alterar o arquivo do seu projeto de biblioteca
.csproj
para usar o SDK do ASP.NET Core anexando.Web
ao/Project/@Sdk
atributo:Isso adicionará uma referência de estrutura ao
Microsoft.AspNetCore.App
seu projeto de biblioteca, que incluiráMicrosoft.AspNetCore.Identity.dll
, entre muitos outros assemblies.Referência da estrutura
Como alternativa, você pode adicionar manualmente uma referência de estrutura a essas bibliotecas sem alterar o SDK do projeto.
Para obter mais informações, consulte Usar APIs do ASP.NET Core em uma biblioteca de classes .