在一个dotnet图书馆项目中,我需要访问SecurityStampValidatorOptions个.

这似乎是"Microsoft.AspNetCore.Identity"程序集的一部分,其nuget包是deprecated.

所以我试着引用Microsoft.AspNetCore.Identity.EntityFrameworkCore,但这也没有帮助.我得到

命名空间"Microsoft. AspNetCore. Identity"中不存在类型或命名空间名称"SecurityStampValidatorOptions"(是否缺少程序集引用?)

(它肯定在那个名称空间中,在我的主ASP.NET Core项目中,它可以工作.

这个类在哪里定义?

推荐答案

ASP.NET Core引用包通过项目的SDK属性导入到项目中,而不是特定的NuGet Gallery PackageReference元素.Microsoft.AspNetCore.App.Ref"不打算用作普通的PackageReference",因为ASP.NET Core库并没有与应用Bundle 在一起,它们应该在安装了ASP.NET Core Acrobat的计算机上运行时存在.

Project SDK

您可以try 将库项目的.csproj文件更改为使用ASP.NET Core SDK,方法是在/Project/@Sdk属性上附加.Web:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <OutputType>Library</OutputType>
    </PropertyGroup>
</Project>

这将在库项目中添加一个对Microsoft.AspNetCore.App的框架引用,该项目将包括Microsoft.AspNetCore.Identity.dll以及许多其他程序集.

框架参考

或者,您可以手动向这些库添加框架引用,而不更改项目SDK.

<Project Sdk="Microsoft.NET.Sdk">
    <ItemGroup>
        <FrameworkReference Include="Microsoft.AspNetCore.App" />
    </ItemGroup>
</Project>

有关更多信息,请参见Use ASP.NET Core APIs in a class library.

Csharp相关问答推荐

无法更改或使用C#(WinForms.NET)中的全局变量

我可以 suppress 规则CS 9035一次吗?

在依赖性注入和继承之间进行 Select

SignalR客户端不会打印队列位置'

如何注册实现同一接口的多个服务并注入到控制器构造函数中

如何模拟耐久任务客户端在统一测试和获取错误在调度NewsListationInstanceAsync模拟设置

如何在实体框架中添加包含列表?

如何使用C#中的主构造函数功能使用多个构造函数?

使用预定义对象减少Task.Run/Factory.StartNew中的关闭开销

如何将此方法参数化并使其更灵活?

ASP.NET核心MVC SqlException:违反主键约束';PK_USER';.无法在对象';数据库中插入重复的密钥.用户';

Savagger使用Fastendpoint更改用户界面参数

Postgres ENUM类型在第一次运行时对Dapper不可见

如何在特定环境中运行dotnet测试?

如何使用类似于[SELECT*FROM&Q;&Q;WHERE&Q;]SQL查询的System.Data.Entity创建查询?

C#命名管道-编码错误?

如何在ASP.NET Core 8中获取键控服务词典

在C#中通过Matheval使用自定义公式

使用免费的DotNet库从Azure函数向Azure文件共享上的现有Excel文件追加行

项目参考和方法签名问题