在 dotnet 库项目中,我需要访问SecurityStampValidatorOptions。
这似乎是“Microsoft.AspNetCore.Identity”程序集的一部分,其 nuget 包已被弃用。
所以我尝试引用Microsoft.AspNetCore.Identity.EntityFrameworkCore,但这也没有帮助。我明白了
命名空间“Microsoft.AspNetCore.Identity”中不存在类型或命名空间名称“SecurityStampValidatorOptions”(您是否缺少程序集引用?)
(它肯定在该命名空间中,并且在我的主要 ASP.NET Core 项目中,它可以工作。)
该类在哪里定义的?
PackageReference
ASP.NET Core 参考包通过项目的 SDK 属性而不是特定的 NuGet Gallery元素导入到项目中。Microsoft.AspNetCore.App.Ref
是“不打算用作普通的 PackageReference”,因为 ASP.NET Core 库不会与应用程序捆绑在一起,它们应该在安装了 ASP.NET Core 运行时的计算机上运行时存在。项目SDK
您可以尝试通过附加到属性来更改库项目的
.csproj
文件以使用 ASP.NET Core SDK :.Web
/Project/@Sdk
这将在您的库项目中添加一个框架引用
Microsoft.AspNetCore.App
,其中将包括Microsoft.AspNetCore.Identity.dll
、以及许多其他程序集。框架参考
或者,您可以手动添加对这些库的框架引用,而无需更改项目 SDK。
有关详细信息,请参阅在类库中使用 ASP.NET Core API。