我需要访问 JwtSettings 的值。我尝试将 IOptions<> 类的实例注入(inject)到我的类的构造函数中,但遇到了问题:
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 包的相同版本。
关于c# - 注入(inject) IOptions<> 的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54347707/