我需要访问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
IOptions<T>
肯定在Microsoft.Extensions.Options
命名空间中,所以这就是您需要的用途:
using Microsoft.Extensions.Options
至于为什么它会告诉你这是不必要的,这真是令人头疼。我唯一能想到的就是你的项目中有什么漏洞。打开项目文件夹并删除bin和obj目录。然后重新构建您的项目。如果它仍然不起作用,则可能存在版本冲突。检查所有引用的项目,若有明确包含Microsoft.Extensions.Configuration
、Microsoft.AspNetCore
等的项目,请确保它们都引用了相同版本的NuGet包。