Вставить экземпляр IOptions <> - PullRequest
0 голосов
/ 24 января 2019

Мне нужно получить доступ к значению моих 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;

В.С. говорит мне, что это излишне.

Обновлено : Мои сборки:

Microsoft.IdentityModel.Tokens    
System.IdentityModel.Tokens.Jwt

1 Ответ

0 голосов
/ 24 января 2019

IOptions<T> определенно находится в пространстве имен Microsoft.Extensions.Options, поэтому вам нужно использовать его:

using Microsoft.Extensions.Options

Что касается того, почему он говорит вам, что это не нужно, то это мозговитый мозг.Единственное, о чем я могу думать, это то, что что-то скрыто в вашем проекте.Откройте папку вашего проекта и удалите каталоги bin и obj.Затем перестройте свой проект.Если он все еще не работает, возможно, у вас конфликт версий.Проверьте все проекты, на которые есть ссылки, и, если они явно указаны, включая Microsoft.Extensions.Configuration, Microsoft.AspNetCore и т. Д., Убедитесь, что все они ссылаются на одни и те же версии этих пакетов NuGet.

...