我需要访问我的JwtSettings的值。我尝试将 IOptions <> 类的实例注入到类的构造函数中,但出现了问题:
public class JwtHandler : IJwtHandler
{
private readonly JwtSettings _jwtSettings;
public JwtHandler(IOptions<JwtSettings> jwtSettings)
{
jwtSettings = _jwtSettings.Value;
}
}
我有错误:
The type or namespace name 'IOptions<>' could not be found
(are you missing a using directive or an assembly reference?)
当我添加用法时:
using Microsoft.Extensions.Options;
VS告诉我这是不必要的。
已更新:我的程序集:
Microsoft.IdentityModel.Tokens
System.IdentityModel.Tokens.Jwt
答案 0 :(得分:1)
IOptions<T>
绝对位于Microsoft.Extensions.Options
命名空间中,因此您需要使用它:
using Microsoft.Extensions.Options
至于为什么它告诉你没有必要,那真是令人头疼。我唯一能想到的是您的项目中有些乏味。打开项目文件夹,然后删除bin和obj目录。然后重建您的项目。如果仍然无法使用,则可能是版本冲突。检查所有引用的项目,是否有任何明确包含Microsoft.Extensions.Configuration
,Microsoft.AspNetCore
等的项目,请确保它们都引用了那些NuGet软件包的相同版本。